home *** CD-ROM | disk | FTP | other *** search
/ CD School House 10 / CD School House - Education and Games (10.0) - Wayzata Technology (1995).iso / mac / DOS / MISC / SSTUFF30 / STUFF.DOC < prev    next >
Text File  |  1994-05-16  |  126KB  |  3,246 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.         
  8.                        
  9.                        
  10.                        
  11.                        
  12.                        
  13.                        
  14.                        
  15.                        
  16.                        
  17.                        
  18.                        
  19.                             STEENBURGH'S  STUFF
  20.                           Mildly Useful Utilities
  21.                               For Batch Files
  22.                                Version  3.01
  23.           Copyright 1991-1994 Chuck Steenburgh & Tay-Jee Software
  24.         
  25.                             _______
  26.                        ____|__     |               (TM)
  27.                     --|       |    |-------------------
  28.                       |   ____|__  |  Association of
  29.                       |  |       |_|  Shareware
  30.                       |__|   o   |    Professionals
  31.                     -----|   |   |---------------------
  32.                          |___|___|    MEMBER
  33.         
  34.         
  35.          
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.                                      Page 1
  57.  
  58.  
  59.  
  60.  
  61.  
  62.                           TABLE OF CONTENTS
  63.         
  64.         
  65.         Introduction.  .  .  .  .  .  .  .  .  .  .  .  .  .  4
  66.         
  67.         Definition of Shareware .  .  .  .  .  .  .  .  .  .  6
  68.         
  69.         Disclaimer - Agreement  .  .  .  .  .  .  .  .  .  .  6
  70.         
  71.         ASP Ombudsman  .  .  .  .  .  .  .  .  .  .  .  .  .  8
  72.         
  73.         BATBOX.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  9
  74.         
  75.         BOX.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 14 
  76.         
  77.         CHKDRV.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 17 
  78.         
  79.         CHKPRN.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 19
  80.         
  81.         CHKSYS.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 20
  82.         
  83.         CLK.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 22
  84.         
  85.         CURSOR.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 25
  86.         
  87.         DOSVER.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 26
  88.         
  89.         INPUT .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 27
  90.         
  91.         KLS.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 34
  92.         
  93.         LAUNCHER .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 37
  94.         
  95.         MUSIC .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 41
  96.         
  97.         RAND  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 43
  98.         
  99.         SIFT  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 44
  100.         
  101.         SKIP  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 46
  102.         
  103.         SOUNDER  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 47
  104.         
  105.         SPACE .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 49
  106.         
  107.         WAITFOR  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 51
  108.         
  109.         WHENISIT .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 52
  110.  
  111.                                      Page 2
  112.  
  113.  
  114.  
  115.  
  116.  
  117.         
  118.         WRITE .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 55
  119.         
  120.         XD .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 58
  121.         
  122.          
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.                                      Page 3
  167.  
  168.  
  169.  
  170.  
  171.  
  172.         
  173.                                INTRODUCTION
  174.                        
  175.            Practically everyone who owns a PC has written a batch
  176.         file at one time or another.  Batch files can give even the
  177.         novice user powerful tools to manage and control his or her
  178.         computer.  While the capabilities of batch files have slow-
  179.         ly improved through successive releases of MS-DOS, there 
  180.         are real limits on what you are capable of with batch files.
  181.         
  182.            Some of the biggest complaints about batch files:
  183.         
  184.            - Lack of interactive features
  185.         
  186.            - Poor screen/speaker output capabilities
  187.         
  188.            - SLOW!
  189.         
  190.            - Inability to to access certain types of system info
  191.         
  192.            Over the years, many batch file "compiler" languages 
  193.         have appeared on the scene.  Interested in greater speed
  194.         and power for my batch files, I evaluated several of the
  195.         shareware versions of these utilities.  Unfortunately,
  196.         they only seemed to be as hard (if not harder) than learn-
  197.         ing a completely new programming language.  Sometimes,
  198.         these systems wouldn't even compile "plain" batch files 
  199.         that I was using without any special commands!
  200.         
  201.            Having struck out with the batch file compilers, I
  202.         then started collecting miscellaneous utilities to try
  203.         to expand my batch file capability piecemeal.  While there
  204.         are many excellent programs available, they generally
  205.         have drawbacks of one kind or another.  Some programs are
  206.         tiny (less than 1K) .COM files that are speedy but don't
  207.         do enough and have very limited options.  There are other
  208.         programs that are more capable, but bigger and slower and
  209.         usually involving several zillion command line switches to
  210.         get anything useful out of the program.
  211.         
  212.            Frustrated, I decided to start writing my own set of
  213.         utilities.  Over several months' time, these utilities de-
  214.         veloped into the collection I call "STEENBURGH's STUFF:
  215.         Mildly Useful Utilities."  These programs are listed below:
  216.         
  217.              BATBOX:     Simple menu creation/input system
  218.              BOX:        Place boxes on the screen
  219.              CHKDRV:     Drive status reporting utility
  220.  
  221.                                      Page 4
  222.  
  223.  
  224.  
  225.  
  226.  
  227.              CHKPRN:     Check parallel printer status
  228.              CHKSYS:     Report device driver/TSR status
  229.              CLK:        Displays time/date on screen
  230.              CURSOR:     Change cursor shape
  231.              DOSVER:     Checks for DOS version
  232.              INPUT:      Advanced prompt/input system
  233.              KLS:        Colorful screen-clearing utility
  234.              LAUNCHER:   File selection/execution system
  235.              MUSIC:      Plays transcribed sheet music on the PC
  236.              RAND:       Random number generator
  237.              SIFT:       Multi-purpose DOS filter
  238.              SKIP:       Prints blank lines from batch files
  239.              SOUNDER:    Wide range of noise making options
  240.              SPACE:      File/disk space reporting utility
  241.              WAITFOR:    Timed pauses 
  242.              WHENISIT:   Date/time telling utility
  243.              WRITE:      Colorful output anywhere on screen
  244.              XD:         Create/switch directories at the same time
  245.         
  246.            As much as possible, I have tried to compromise between
  247.         program size on the one hand (keeping them small and fast)
  248.         and features on the other.  As you will see, many of the
  249.         programs are under 15K, and none is over 45K.  While this
  250.         is considerably larger than some assembly language programs
  251.         (I have a program that prints individual blank lines from
  252.         batch files that is only 12 bytes!), the entire collection
  253.         takes up very little disk space.  This is less than just 
  254.         the documentation for some larger utilities.
  255.         
  256.            The size of these programs is due to their being compiled
  257.         in 'C'.  However, these programs are FAST, for several rea-
  258.         sons.  First, they were compiled with the Power C compiler
  259.         from Mix Software.  Power C may not be the most capable of
  260.         compilers, but it is probably the fastest DOS compiler around
  261.         overall.  Second, these programs leave out some of the "cute" 
  262.         features that other programs include that slow them down con-
  263.         siderably.  For example, when you run "MUSIC" you'll hear 
  264.         sounds all right, but no animated cherubs will perform aero-
  265.         batics while the music plays.  When you run SPACE, you will 
  266.         not see an aquarium filled with swimming fish representing 
  267.         the number of occupied bytes of disk space.  And, (I can't
  268.         resist), NO FLYING TOASTERS.  Instead, you will get concise, 
  269.         neat information on the screen, in most cases accompanied by 
  270.         an errorlevel which can be evaluated by your batch files.
  271.         
  272.          
  273.  
  274.  
  275.  
  276.                                      Page 5
  277.  
  278.  
  279.  
  280.  
  281.  
  282.         DEFINITION OF SHAREWARE
  283.         
  284.         Shareware distribution gives users a chance to try software
  285.         before buying it. If you try a Shareware program and continue
  286.         using it, you are expected to register. Individual programs
  287.         differ on details -- some request registration while others
  288.         require it, some specify a maximum trial period. With
  289.         registration, you get anything from the simple right to continue
  290.         using the software to an updated program with printed manual.
  291.         
  292.         Copyright laws apply to both Shareware and commercial software,
  293.         and the copyright holder retains all rights, with a few specific
  294.         exceptions as stated below. Shareware authors are accomplished
  295.         programmers, just like commercial authors, and the programs are
  296.         of comparable quality. (In both cases, there are good programs
  297.         and bad ones!) The main difference is in the method of
  298.         distribution. The author specifically grants the right to copy
  299.         and distribute the software, either to all and sundry or to a
  300.         specific group. For example, some authors require written
  301.         permission before a commercial disk vendor may copy their
  302.         Shareware.
  303.         
  304.         Shareware is a distribution method, not a type of software. You
  305.         should find software that suits your needs and pocketbook,
  306.         whether it's commercial or Shareware. The Shareware system makes
  307.         fitting your needs easier, because you can try before you buy.
  308.         And because the overhead is low, prices are low also. Shareware
  309.         has the ultimate money-back guarantee -- if you don't use the
  310.         product, you don't pay for it.
  311.         
  312.         
  313.         DISCLAIMER - AGREEMENT
  314.         
  315.         Users of STEENBURGH's STUFF must accept this disclaimer of war-
  316.         ranty:
  317.         
  318.         "STEENBURGH's STUFF is supplied as is.  The author disclaims all
  319.         warranties, expressed or implied, including, without limitation,
  320.         the warranties of merchantability and of fitness for any pur-
  321.         pose.  The author assumes no liability for damages, direct or 
  322.         consequential, which may result from the use of STEENBURGH'S 
  323.         STUFF."  However, Tay-Jee Software will replace a DEFECTIVE 
  324.         diskette at ANY time.  Simply return the original, DEFECTIVE
  325.         diskette and we'll send you a new one for a nominal replacement
  326.         fee (currently $2) to cover the cost of replacement.
  327.         
  328.         STEENBURGH's STUFF is a "shareware program" and is provided at 
  329.         no charge to the user for evaluation.  Feel free to share it 
  330.  
  331.                                      Page 6
  332.  
  333.  
  334.  
  335.  
  336.  
  337.         with your friends, but please do not give it away altered or 
  338.         as part of another system.  The essence of "user-supported" 
  339.         software is to provide personal computer users with quality 
  340.         software without high prices, and yet to provide incentive 
  341.         for programmers to continue to develop new products.  If you 
  342.         find this program useful and find that you are using STEEN-
  343.         BURGH'S STUFF and continue to use STEENBURGH's STUFF after a 
  344.         reasonable trial period, you must make a registration payment 
  345.         of $19.95/$29.95 to Tay-Jee Software.  The registration fee will
  346.         license one copy for use on any one computer at any one time.  
  347.         You must treat this software just like a book.  An example is 
  348.         that this software may be used by any number of people and may 
  349.         be freely moved from one computer location to another, so long 
  350.         as there is no possibility of it being used at one location 
  351.         while it's being used at another.  Just as a book cannot be 
  352.         read by two different persons at the same time.
  353.         
  354.         Users have two registration options: BASIC ($19.95) and DELUXE
  355.         ($29.95).  BASIC registration includes a copy of the latest,
  356.         registered versions of the utilities on disk.  DELUXE registra-
  357.         tion also includes the latest versions, plus laser printed
  358.         documentation on mylar-reinforced sheets enclosed in a plastic
  359.         binder.  DELUXE registration also incldues free documentation
  360.         upgrades when the user upgrades to a later version of STEEN-
  361.         BURGH's STUFF.
  362.         
  363.         To register, print out the file REGISTER.FRM, fill it out,
  364.         and mail to the address on the form.  If the form is missing,
  365.         send your name & address, name of the program being registered,
  366.         preferred disk size, and check in U.S. funds for the appropriate
  367.         amount to: Tay-Jee Software, P.O. Box 835, Lexington, VA 24450.
  368.         (VA residents must add 4.5(null)ales tax and customers outside
  369.         North America must add $5 for shipping.)  You may also register
  370.         on-line on CompuServe by typing GO SWREG and registering under
  371.         ID# 1170 (Basic) or #1217 (Deluxe).  Finally, you may send
  372.         credit card info via Email to CompuServe 72330,1776, INTERNET
  373.         TayJeeSoft@aol.com, America On-Line TayJeeSoft, or by calling
  374.         (800)378-3966 or (703)261-7023.
  375.         
  376.         Commercial users of STEENBURGH's STUFF must register and pay 
  377.         for their copies of STEENBURGH's STUFF within 30 days of first 
  378.         use or their license is withdrawn.  Site-License arrangements 
  379.         may be made by contacting Tay-Jee Software.
  380.         
  381.         Anyone distributing STEENBURGH's STUFF for any kind of remun-
  382.         eration should refer to the file VENDOR.DOC in the accompany-
  383.         ing package/archive for further information.
  384.         
  385.  
  386.                                      Page 7
  387.  
  388.  
  389.  
  390.  
  391.  
  392.         You are encouraged to pass a copy of STEENBURGH's STUFF along 
  393.         to your friends for evaluation.  Please encourage them to 
  394.         register their copy if they find that they can use it.  All 
  395.         registered users will receive a copy of the latest version of 
  396.         the STEENBURGH's STUFF system.
  397.         
  398.         
  399.         ASP OMBUDSMAN
  400.         
  401.           This program is produced by a member of the Association of
  402.         Shareware Professionals (ASP).  ASP wants to make sure that
  403.         the shareware principle works for you.  If you are unable to
  404.         resolve a shareware-related problem with an ASP member by
  405.         contacting the member directly, ASP may be able to help.  The
  406.         ASP Ombudsman can help you resolve a dispute or problem with
  407.         an ASP member, but does not provide technical support for 
  408.         members' products.  Please write to the ASP Ombudsman at 545
  409.         Grover Road, Muskegon, MI 49442 or send a CompuServe message
  410.         via CompuServe Mail to ASP Ombudsman, 70007,3536.
  411.         
  412.          
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.                                      Page 8
  442.  
  443.  
  444.  
  445.  
  446.  
  447.                       
  448.                       INDIVIDUAL PROGRAM DESCRIPTIONS
  449.                       ========== ======= ============
  450.         
  451.         
  452.         BATBOX.EXE 2.7                                                  |
  453.         Copyright 1991-1993 by Chuck Steenburgh and Tay-Jee Software
  454.         
  455.            People have been creating menus with batch files for
  456.         years.  Some of these are quite elaborate, others very crude.
  457.         BATBOX is something in between.  BATBOX will allow you to
  458.         display an attractive, colorful menu and will wait for
  459.         the user to make a selection.  It will then set an appro-
  460.         priate ERRORLEVEL value which can be used to determine sub-
  461.         sequent actions in your batch file.
  462.         
  463.         Usage:       BATBOX  menufile [/C] [/Dn] [/Tn] [/M] [/Wn] [/H]  |
  464.                              [/O] [/Q] [/Pn]
  465.         
  466.                   menufile        is the name of an ASCII text 
  467.                                   file which you create.  This
  468.                                   will contain the menu's title
  469.                                   and a list of options.
  470.                                   
  471.                   /C              Normally, the longest menu item  
  472.                                   is centered in the menu box and  
  473.                                   subsequent items are left-aligned
  474.                                   below it.  This switch will cause
  475.                                   each menu item to be centered in 
  476.                                   the menu box.
  477.                   
  478.                   /Dn             Date format.  Current valid values    
  479.                                   for n are:                            
  480.                                   
  481.                                        1   YY.MM.DD
  482.                                        2   Short month (DD Mmm YY)      
  483.                                        3   Weekday (Www MM DD)          
  484.                                        -   Turn off date display        
  485.                                   
  486.                   /Tn             Time format.  Valid values for n are: 
  487.                   
  488.                                        1   Display time using 12-hour   
  489.                                            clock with AM/PM             
  490.                                        2   24-hour clock, no seconds    
  491.                                        3   12-hour clock, no seconds
  492.                   
  493.                   /M              Set BATBOX master environment variable|
  494.                                   equal to menu item selected.          |
  495.  
  496.                                      Page 9
  497.  
  498.  
  499.  
  500.  
  501.  
  502.                   
  503.                   /Wn             Exit menu if no keys are pressed with-
  504.                                   in n seconds and return errorlevel of
  505.                                   255.
  506.                   
  507.                   /H              Generates help screen.
  508.         
  509.                   /O              Ordinal menu selection.  Instead
  510.                                   of returning an errorlevel based
  511.                                   on the hotkey, returns an error-
  512.                                   level based on the ordinal pos- 
  513.                                   ition of the selected menu item.
  514.                                   
  515.                   /Q              Quiet mode suppresses all sounds.
  516.                   
  517.                   /Pn             Select predefined color palettes:
  518.                                        1 - Ice Blue
  519.                                        2 - Fire Red
  520.                                        3 - Pastel
  521.                                        4 - Monochrome
  522.                                        5 - LCD 1 (B/W)                  |
  523.                                        6 - LCD 2 (W/B)                  |
  524.                   
  525.            To create a menufile, use a text editor, word processor that 
  526.         can save ASCII files, or EDLIN.COM or EDIT.COM that come with 
  527.         DOS.  In a pinch, you can use the "copy con" command but this 
  528.         doesn't give you much in the way of an editing capability.
  529.         
  530.            The structure of the menufile is simple.  The first line
  531.         contains your menu's title, up to 60 characters.  If you
  532.         don't want a title, leave the line blank, without any spaces.
  533.         (Hint:  press RETURN immediately without doing anything else 
  534.         when you first begin editing your document.)  Each succes-
  535.         sive line contains a menu item, exactly as you want it to ap-
  536.         pear on the screen.  Do NOT include any blank lines here or 
  537.         you will end up with blank lines in your menu!
  538.         
  539.            A few limitations:  each line can contain no more than 60
  540.         characters (if you need more than this to describe your menu
  541.         choices, maybe you need Microsoft Windows, a Macintosh, or 
  542.         something else with lots of pictures!).  In addition, your menu
  543.         items (but NOT the menu title) should each begin with a dis-
  544.         tinct letter in order for the selection function to work pro-
  545.         perly.  The selection function for BATBOX is case-insensitive,
  546.         so if you begin one line with the letter 's' and the other
  547.         with the letter 'S', these are considered the same.  Up to
  548.         10 menu items are permitted in any one file.
  549.         
  550.  
  551.                                      Page 10
  552.  
  553.  
  554.  
  555.  
  556.  
  557.            By default, BATBOX treats the first letter of each menu item |
  558.         as a "hot key" which can be used to select that item.  If for   |
  559.         some reason you prefer to use a letter other than the first as  |
  560.         a "hot key," insert the "@" character immediately before the    |
  561.         desired hot key.  The "@" character will NOT appear on the menu.|
  562.         
  563.            When you type BATBOX on the command line followed by the
  564.         name of your menufile (they must both be in the current dir-
  565.         ectory), you will see a menu pop up in the middle of the
  566.         screen.  The title will appear at the top, with each of your
  567.         menu items (up to ten) appearing at double spaced-intervals
  568.         inside the menu box.  Each item will also be numbered from 1  
  569.         to 0 (the 10th item being numbered "0").  At the bottom of the
  570.         menu you will see a the message "Enter your menu choice: ".  
  571.         If you have a color monitor, you will notice that the first 
  572.         letter (the "hot key") of each menu item appears in a different |
  573.         color than the rest of the text (unless you have specified a    |
  574.         different letter as the "hot key"; see above).  The time and    |
  575.         date will also be displayed at the top of the menu.             |
  576.         
  577.            There are now three separate methods of selecting a menu    
  578.         item.  The first is by pressing the hotkey described above.    
  579.         The second is by pressing the item number displayed to the left
  580.         of each menu item (1-0, with 0 representing item 10).  The     
  581.         third method, new since Version 2.5, is by positioning the cur-
  582.         sor bar over the appropriate menu item and pressing ENTER.  Use
  583.         the up/down cursor arrow keys to move the bar up and down.  You
  584.         may also use the PgUp key to position the bar over the first   
  585.         menu item and the PgDn key to position it over the last menu   
  586.         item.  PRESSING ANY OTHER KEY will produce an error tone (un-  
  587.         less the /Q switch is specified) but otherwise do nothing.     
  588.         
  589.            After selecting a menu item in one of the ways above, BATBOX
  590.         will then exit, and return an errorlevel based on the hotkey.  
  591.         See Appendix 1 for a list of legal first letters and the error-
  592.         levels that are returned by BATBOX.  If you select the /O op- 
  593.         tion, BATBOX will return the position of the selected menu item
  594.         via the errorlevel.  For example, if you select the 1st item on
  595.         the list and have specified /O, the errorlevel will be set to  
  596.         1.  If you select the 5th item, the errorlevel will be 5, and  
  597.         so on.  You can use the errorlevel value that is returned to   
  598.         branch to different parts of your batch file or to execute 
  599.         commands.  See the DEMO.BAT file for an example of one way to 
  600.         do this. (DEMO.BAT is part of the STUF??.ZIP archive which     
  601.         contains demonstration files for all of the STEENBURGH'S STUFF 
  602.         utilities).
  603.         
  604.            If you do not wish to select a menu item, simply press the   |
  605.  
  606.                                      Page 11
  607.  
  608.  
  609.  
  610.  
  611.  
  612.         ESC (escape) key.  You will exit the menu and BATBOX will re-   |
  613.         turn an errorlevel of 254.                                      |
  614.         
  615.            The errorlevel that is returned is affected only by the /O  
  616.         switch, and NOT by whether the item is selected via the hotkey,
  617.         the item number, or the cursor bar.
  618.         
  619.            The /M (master environment) switch provides an alternate     |
  620.         method of communicating the menu selection.  If this switch     |
  621.         is used, a master environment variable named BATBOX will be     |
  622.         set equal to the text of the menu item selected.  For an exam-  |
  623.         ple of the utility of this feature, see the enclosed batch file |
  624.         SCD.BAT.                                                        |
  625.         
  626.            If you enter BATBOX alone on the command line without any
  627.         parameters, the help screen will be displayed.
  628.         
  629.         Time/Date Formats                                               |
  630.         
  631.           By default, BATBOX will read country information from your    |
  632.         system and format the time and date displays accordingly.  You  |
  633.         may override the default display settings by using the /D or /T |
  634.         switches on the command line.                                   |
  635.         
  636.         Customizing Colors
  637.         
  638.         Beginning with version 2.1, BATBOX users can customize their
  639.         menu's colors by using a small text file called BATBOX.CFG.
  640.         Using the color codes from Appendix 3 of STEENBURGH'S STUFF
  641.         documentation, enter a color value into a text file for the
  642.         following items, one entry per line:
  643.         
  644.              Line #       Controls       Valid Values
  645.              ======       ========       ============
  646.                1       Menu color            1-127
  647.                2       Menu border type      1-4
  648.                3       Menu shadow pattern   1-3
  649.                4       Menu title color      1-255
  650.                5       Menu interior color   1-127
  651.                6       Menu item color       1-255
  652.                7       Hot key color         1-255
  653.                8       Cursor bar color      1-255
  654.                9       Prompt message color  1-255
  655.               10       Date/time color       1-255
  656.         
  657.         See the enclosed file BATBOX.CFG for an example.  The 5 pre-
  658.         defined color palettes (one default and four selectable with
  659.         the /P switch) are shown below.  The registered version of BAT- |
  660.  
  661.                                      Page 12
  662.  
  663.  
  664.  
  665.  
  666.  
  667.         BOX includes the program BATCOLOR, a color configuration util-  |
  668.         ity which can help you create the BATBOX.CFG file.              |
  669.         
  670.                          PREDEFINED COLOR PALETTES
  671.         
  672.                        0       1       2       3       4      5      6
  673.                      =====   =====   =====   =====   =====  =====  =====
  674.         Menu color     79      27      78      53     112     96     32
  675.         Menu border     2       1       1       1       1      3      3
  676.         Menu shadow     2       3       2       3       2      1      1
  677.         Menu title     79      27     116      95      14     95     96
  678.         Menu interior  31      27      64      48       0    111     47
  679.         Menu item      79      27     116      53       7    111     32
  680.         Hot key        30      31      79      63      14     14     14
  681.         Cursor bar     14      49      78      95     112     14     14
  682.         Prompts        31      27     116      61       7     96     47
  683.         Date/time     113      27     124      53       7     96     47
  684.         
  685.          
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.                                      Page 13
  717.  
  718.  
  719.  
  720.  
  721.  
  722.         BOX Version 1.21
  723.         Copyright 1992 by Chuck Steenburgh & Tay-Jee Software
  724.         
  725.         BOX helps to bridge a gap between the BATBOX and WRITE/INPUT 
  726.         components of STEENBURGH's STUFF.  People have often expressed 
  727.         a desire to create "dialog boxes" from within batch files,
  728.         using a shadowed box similar to that used by BATBOX.  BOX now
  729.         provides this capability of creating a box on the screen, which
  730.         can subsequently be filled with text via a WRITE or INPUT call.
  731.         
  732.         Usage:       BOX /Ln /Tn [/Hn /Wn /Yn /Cn /In /S[-|n] /?]       |
  733.                 or   BOX textfile [/Cn] [/In] [/Xn] [/S-|/Sn] [/?]      |
  734.         
  735.                   /Ln             Column location for leftmost edge of
  736.                                   box.
  737.                    
  738.                   /Tn             Row location for topmost edge of box.
  739.                    
  740.                   /Hn             Height of box in rows.
  741.                    
  742.                   /Wn             Width of box in rows.
  743.                    
  744.                   /Yn             Style of box (one of nine styles shown
  745.                                   below)
  746.                    
  747.                   /Bn             Background color of box border
  748.                    
  749.                   /Fn             Foreground color of box border        |
  750.                    
  751.                   /In             Interior color of box
  752.                   
  753.                   /Xn             Text display color                    |
  754.                    
  755.                   /S-             Disable drop shadow
  756.                    
  757.                   /Sn             Style of shadow (one of three styles
  758.                                   shown below)
  759.                   
  760.                   /?              Displays brief help screen
  761.         
  762.         Examples:
  763.         
  764.              BOX /T5 /L20
  765.              
  766.            Displays a single-line box, centered on screen, with top left
  767.         corner located in row 5, column 20, in white on black.
  768.         
  769.              BOX /T10 /L30 /H4 /C79 /I4 /Y2                             |
  770.  
  771.                                      Page 14
  772.  
  773.  
  774.  
  775.  
  776.  
  777.              
  778.            Displays a double-line box 4 rows high, centered horizontally
  779.         on the screen, located in row 10, column 30.  Box is bright
  780.         white on red with a red interior.
  781.         
  782.              BOX /L60 /T15 /H3 /W10 /S-
  783.         
  784.            Displays a 3 row-by-10-column single-line box, with top left
  785.         corner located in row 15, column 60.  Box is white on black with
  786.         no drop shadow.
  787.         
  788.              BOX hello.txt /X79                                         |
  789.            
  790.            Displays up to 20 lines of text from the file HELLO.TXT in a |
  791.         box centered on the screen.  Text is bright white on red.       |
  792.         
  793.            The leftmost column (/Ln) must be at least 1, and no greater
  794.         than 78.  The topmost row (/Tn) must be at least 1, and no
  795.         greater than 22 for a 25-line screen, 40 for a 43-line EGA      |
  796.         screen, or 47 for a 50-line VGA screen.  (These limits are im-  |
  797.         posed to make room for a drop shadow.)  The box must also be at |
  798.         least two rows "tall" (/Hn) and at least two columns "wide"     |
  799.         (/Wn).                                                          |
  800.         
  801.            The nine box styles are listed below:
  802.            
  803.              1 - Single edge box
  804.              2 - Double edge box
  805.              3 - Double horizontal/single vertical edge box
  806.              4 - Single horizontal/double vertical edge box
  807.              5 - Thick edge box
  808.              6 - Medium edge box
  809.              7 - Shaded thick box (ASCII 176)
  810.              8 - Shaded thick box (ASCII 177)
  811.              9 - Shaded thick box (ASCII 178)
  812.         
  813.            Styles 7, 8, and 9 correspond to the three shadow styles.
  814.         /S1 produces a shadow using ASCII 176, /S2 using ASCII 177,
  815.         and /S3 using ASCII 178.  The default is /S2.
  816.         
  817.            Use the following guide for foreground and background colors:
  818.         
  819.         Value for n               Foreground              Background
  820.         ===========               ==========              ==========
  821.              0                      Black                    Black 
  822.              1                      Blue                     Blue
  823.              2                      Green                    Green
  824.              3                      Cyan                     Cyan
  825.  
  826.                                      Page 15
  827.  
  828.  
  829.  
  830.  
  831.  
  832.              4                      Red                      Red
  833.              5                      Magenta                  Magenta
  834.              6                      Brown                    Brown
  835.              7                      White                    White
  836.              8                      Grey                     Black*
  837.              9                      Light blue               Blue*
  838.             10                      Light green              Green*
  839.             11                      Light cyan               Cyan*
  840.             12                      Light red                Red*
  841.             13                      Light magenta            Magenta*
  842.             14                      Yellow                   Brown*
  843.             15                      Bright white             White*
  844.             
  845.             * indicates "blinking" foreground colors.
  846.             
  847.            To calculate the color value for the /C switch, multiply the |
  848.         background value by 16 and add the foregrond value.  Use the    |
  849.         same values for text colors (/X).                               |
  850.         
  851.            Additionally, n values of 0 to 7 are valid for interior
  852.         colors (/In).  The box will be filled with spaces (ASCII 32)
  853.         with a background color corresponding to that of the attribute
  854.         selected from the chart above.
  855.         
  856.            The following errorlevel values are returned:
  857.            
  858.            0 - Normal exit, no errors
  859.            1 - Invalid left column (/Ln)                                |
  860.            2 - Invalid top row (/Tn)                                    |
  861.            3 - Invalid box height (/Hn)                                 |
  862.            4 - Invalid box width (/Wn)                                  |
  863.            5 - Invalid box color (/Cn)                                  |
  864.            6 - Invalid text color (/Tn)                                 |
  865.            7 - Invalid shadow style (/Sn)                               |
  866.            8 - Invalid fill color (/In)                                 |
  867.            9 - Invalid text file name                                   |
  868.          255 - Help screen displayed/no parameters entered
  869.          
  870.                 
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.                                      Page 16
  882.  
  883.  
  884.  
  885.  
  886.  
  887.         CHKDRV Version 2.0                                              |
  888.         Copyright 1992-1993 Chuck Steenburgh & Tay-Jee Software         |
  889.         
  890.         
  891.            CHKDRV will report all existing, valid disk drive letters,
  892.         or check the validity of a specific drive.
  893.         
  894.         Syntax:
  895.         
  896.              CHKDRV [d:] [/D] [/K] [/Q] [/V] [/Xtypelist] [/H | /?]
  897.         
  898.         d:           Optional drive letter to check
  899.         
  900.         /D           Detailed errorlevel report                         |
  901.         
  902.         /K           disable drive types Key                            |
  903.         
  904.         /Q           Quiet mode (driver letters only, no key or symbols)|
  905.         
  906.         /V           Verify drive status (physical check)               |
  907.         
  908.         /Xtypelist   eXclude certain types of drives.  Include one or   |
  909.                      of the following codes in typelist:                |
  910.                      
  911.                          f - floppy drives                              |
  912.                          h - hard drvies                                |
  913.                          n - networked (remote) drives                  |
  914.                          l - networked (local) drives                   |
  915.                          d - device-driven drives                       |
  916.                          r - RAM disks                                  |
  917.                          s - SUBSTed drives                             |
  918.                          
  919.         /H | /?      brief Help screen
  920.                           
  921.            Used alone on the command line, CHKDRV will print a listing
  922.         of all valid disk drive letters, including "ghost" drives,
  923.         RAM disks, networked, or SUBSTed drives.  CHKDRV will set the
  924.         DOS errorlevel equal to the total number of drives installed.
  925.         Unless the /Q switch is used, each drive letter will be follow- |
  926.         ed by one or more symbols indicating its characteristics.  A    |
  927.         key explaining these symbols appears below the dirve list unless|
  928.         disabled by the /K switch.
  929.         
  930.            Normally, upper-case drive letters are used to indicate all  |
  931.         fixed disks, while removable (floppy) devices are indicated by  |
  932.         lower case letters.                                             |
  933.         
  934.            If an optional drive letter (with ot without colon) is spec-
  935.  
  936.                                      Page 17
  937.  
  938.  
  939.  
  940.  
  941.  
  942.         ified, CHKDRV will determine if that letter is assigned to a
  943.         valid disk drive.  CHKDRV will inform you of the drive's status
  944.         via a screen message and errorlevel return.  An errorlevel of
  945.         0 indicates that the specified drive exists, while an errorlevel
  946.         of 255 indicates an invalid drive.  When the /D switch is used, |
  947.         a more detailed errorlevel report wil be given, indicating the  |
  948.         size of the drive.                                              |
  949.         
  950.            In the event of an error, or if the /H parameter is speci-
  951.         fied, a brief help screen is displayed, and the errorlevel is
  952.         set to 254.
  953.         
  954.            Errorlevel return table for /D switch:
  955.            
  956.            Errorlevel                  Drive type:
  957.            
  958.                 1                      5¼" (360k)                       |
  959.                 2                      5¼" (1.2M)                       |
  960.                 3                      3½" (720k)                       |
  961.                 4                      3½" (1.4M)                       |
  962.                 5                      3½" (2.8M)                       |
  963.                 6                      Floptical                        |
  964.                 7                      Fixed disk                       |
  965.                 8                      Tape drive                       |
  966.                 9                      8" drive                         |
  967.                19                      Write protected disk (/V switch) |
  968.                21                      No disk in drive (/V switch)     |
  969.                31                      Unformatted disk (/V switch)     |
  970.               100                      Unknown                          |
  971.               255                      Does not exist                   |
  972.          
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.                                      Page 18
  992.  
  993.  
  994.  
  995.  
  996.  
  997.         
  998.         CHKPRN Version 1.0
  999.         Copyright 1992 by Chuck Steenburgh & Tay-Jee Software
  1000.         
  1001.            CHKPRN will check the status of a printer attached to ports
  1002.         1, 2, or 3 (LPT1-LPT3).
  1003.         
  1004.         Usage:       CHKPRN [LPTn]
  1005.         
  1006.                   LPTn            Optional parameter specifying port
  1007.                                   to check.  Valid values for n: 1-3
  1008.                                   
  1009.         Examples:
  1010.         
  1011.              CHKPRN               Checks status of LPT1
  1012.              
  1013.              CHKPRN LPT3          Checks status of LPT3
  1014.              
  1015.            CHKPRN will display a message indicating the status of the
  1016.         printer.  If the printer is ready, the errorlevel will be set
  1017.         to 0.  If the printer is not ready, a tone will sound and the
  1018.         errorlevel will be set to 1.
  1019.         
  1020.            The included file SAFEPRN.BAT will check if the printer is
  1021.         ready before copying a file to it.  Use SAFEPRN.BAT to print
  1022.         text files from the DOS command line.  The syntax for SAFEPRN
  1023.         is as follows:
  1024.         
  1025.                      SAFEPRN filename LPTn:
  1026.         
  1027.                    filename       Name of the file you wish to print.
  1028.                    
  1029.                    LPTn           Printer port destination (n=1,2, or 3)
  1030.         
  1031.            Errorlevel report table:
  1032.            
  1033.            Errorlevel                  Condition
  1034.                
  1035.                0                       Printer is ready
  1036.                1                       Printer not switched on
  1037.                2                       Printer out of paper
  1038.                3                       Printer not connected
  1039.                4                       Printer off line
  1040.                5                       No parallel port installed
  1041.               100                      Unknown printer error
  1042.          
  1043.  
  1044.  
  1045.  
  1046.                                      Page 19
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.              
  1053.         CHKSYS Version 1.0
  1054.         Copyright 1993 Chuck Steenburgh & Tay-Jee Software
  1055.         
  1056.         
  1057.            CHKSYS will report the installed state of several device
  1058.         drivers and TSRs, as well as other useful system information.
  1059.         
  1060.         Syntax:
  1061.         
  1062.              CHKSYS [operation] [/E] [/H | /?]
  1063.              
  1064.         [operation]  Device driver/information to check.  One or more
  1065.                      of the following:
  1066.                      
  1067.                         ANSI     - ANSI.SYS driver
  1068.                         APPEND   - Check for installation of APPEND
  1069.                         ASSIGN   - Check for installation of ASSIGN
  1070.                         DOSKEY   - Check for installation of DOSKEY
  1071.                         EMM386   - Check for installation of EMM386.EXE
  1072.                         FILES    - Check for FILES= setting
  1073.                         GRAFTABL - Check for installation of GRAFTABL
  1074.                         HIMEM    - Check for installation of HIMEM.SYS
  1075.                         KEYB     - Check for installation of KEYB
  1076.                         NLSFUNC  - Check for installation of NLSFUNC
  1077.                         PRINT    - Check for installation of PRINT
  1078.                         SHARE    - Check for installation of SHARE
  1079.                         WINDOWS  - Check for presence of Windows
  1080.                         ALL      - Check for all of the above
  1081.               
  1082.         [/E]         Store installed status in an environment variable
  1083.         
  1084.         [/H | /?]    Display help screen
  1085.         
  1086.         
  1087.            If a single operation is specified, CHKSYS will set the
  1088.         errorlevel to 1 if the driver/TSR is currently installed, or
  1089.         return a value of 0 if it is not installed.  The FILES oper-
  1090.         ation is an exception to this general rule; instead, it returns
  1091.         an errorlevel equal to the FILES setting currently being used.
  1092.         
  1093.            If more than one operation is specified, the errorlevel is
  1094.         always set to 0.
  1095.         
  1096.            A brief message is displayed for each operation indicating
  1097.         installation status.  When the /E switch is set, an environment
  1098.         variable is created indicating installation status.
  1099.         
  1100.  
  1101.                                      Page 20
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.            When specifying operations, only the first two characters
  1108.         are necessary.
  1109.         
  1110.         Examples:
  1111.         
  1112.              CHKSYS PRINT
  1113.              
  1114.            Determines if resident portion of PRINT.COM (or PRINT.EXE)
  1115.         is loaded.
  1116.         
  1117.              CHKSYS DO /E
  1118.              
  1119.            Determines if DOSKEY is installed, and sets the environment
  1120.         variable DOSKEY to YES or NO depending on installed state.
  1121.           
  1122.  
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128.  
  1129.  
  1130.  
  1131.  
  1132.  
  1133.  
  1134.  
  1135.  
  1136.  
  1137.  
  1138.  
  1139.  
  1140.  
  1141.  
  1142.  
  1143.  
  1144.  
  1145.  
  1146.  
  1147.  
  1148.  
  1149.  
  1150.  
  1151.  
  1152.  
  1153.  
  1154.  
  1155.  
  1156.                                      Page 21
  1157.  
  1158.  
  1159.  
  1160.  
  1161.  
  1162.         CLK 2.51                                                        |
  1163.         Copyright 1991-1993 by Chuck Steenburgh & Tay-Jee Software
  1164.         
  1165.            DOS offers the TIME and DATE commands which allow to   
  1166.         display, then set, the time and date.  Unfortunately,     
  1167.         these commands "hang up" your system in that they prompt  
  1168.         you for a new time and/or date when entered by themselves 
  1169.         on the command line.  CLK allows you to display the time  
  1170.         and date and then immediately terminate.                  
  1171.         
  1172.         Usage:     CLK [/T] [/W] [/M] [/D] [/C] [/Rnn] [/Lnn] [nnn] [/E]|
  1173.                or  CLK "Format" [/C] [/Rnn] [/Lnn] [nnn] [/E]           |
  1174.         
  1175.                   /T             displays the time in 24-hour 
  1176.                                  format                       
  1177.                                  
  1178.                   /W             displays three-letter abbreviation 
  1179.                                  for the day of the week            
  1180.                                 
  1181.                   /M             displays three-letter abbreviation 
  1182.                                  for the month                      
  1183.                                  
  1184.                   /D             displays the date
  1185.                   
  1186.                   /C             centers the displayed string on the
  1187.                                  current line.
  1188.                                  
  1189.                   /Rnn           displays string on row nn, where nn is 
  1190.                                  a number between 0 and 24.             
  1191.                                  
  1192.                   /Lnn           displays string starting in column nn, 
  1193.                                  where nn is a number between 0 and 79. 
  1194.                                  
  1195.                   nnn            displays output in color nnn, where nnn
  1196.                                  is a number between 0 and 255.  See    
  1197.                                  Appendix 3 for color information.
  1198.                   
  1199.                   /E             set result to environment variable CLK |
  1200.                                  
  1201.                   "Format"       displays special time elements as part 
  1202.                                  of a formatted string.  Must be enclos-
  1203.                                  ed in quotes.  See below for details.  
  1204.                                                                         
  1205.         Examples: (assuming run at 11:45am Sunday 6 October 1991)      
  1206.                                  
  1207.              CLK                 displays the current time and date in 
  1208.                                  the form: Sun Oct 06 11:45:00 1991    
  1209.                                  
  1210.  
  1211.                                      Page 22
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.              CLK /t              displays time: 11:45:00               
  1218.              
  1219.              CLK /w              displays day of the week: Sun         
  1220.              
  1221.              CLK /m              displays month: Oct                   
  1222.              
  1223.              CLK /d              displays date: 06                     
  1224.              
  1225.              CLK /t /m /d /w     displays: 11:45:00 Sun Oct 06         
  1226.              
  1227.              CLK /c /w /t        displays: 11:45:00 Sun (centered on
  1228.                                  current line)                      
  1229.                                  
  1230.              CLK /c /t /r10 79   displays 11:45:00 centered on line 10  
  1231.                                  in bright white on a red background    
  1232.                                  
  1233.              CLK "Time: 0"      displays: Time: 11:45:00
  1234.              
  1235.              CLK /t /e           displays 11:45:00, sets environment    |
  1236.                                  variable CLK equal to the string       |
  1237.                                  "11:45:00"                             |
  1238.              
  1239.            Command-line parameters may be entered in any order.  Dif- 
  1240.         ferent elements of the date/time, however, will always be dis-
  1241.         played in the following order: time, day of the week, month,  
  1242.         and date.
  1243.         
  1244.            The format string combines text with special replaceable     
  1245.         parameters to produce customized output.  The text, which       
  1246.         should be enclosed in quotes, can be a message which includes   
  1247.         elements of the time.  Use replaceable parameters, prefixed by  
  1248.         the percent () sign, to represent the following data:          
  1249.         
  1250.            a   Abbreviated weekday (i.e., Sun, Mon, etc.)              
  1251.            A   Full weekday                                            
  1252.            b   Abbreviated month (i.e., Jan, Feb, etc.)                
  1253.            B   Full month                                              
  1254.            0   Day of the month (01-31)                                
  1255.            H   Hour (24-hour clock 00-23)                              
  1256.            I   Hour (12-hour clock 00-11)                              
  1257.            j   Julian date (0-366)                                     
  1258.            m   Month (01-12)                                           
  1259.            M   Minute (00-59)                                          
  1260.            0000   Meridian (am or pm)                                     
  1261.            S   Second (00-59)                                          
  1262.            U   Week of the year (00-52), Sundays first                 
  1263.            W   Week of the year (00-52), Mondays first                 
  1264.            w   Day of the week (0-6), Sunday first                     
  1265.  
  1266.                                      Page 23
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.            0   Date (MM/DD/YY)                                         
  1273.            0   Time (HH:MM:SS)                                         
  1274.               Year (00-99)                                            
  1275.            Y   Year (0000-9999)                                        
  1276.            Z   Timezone                                                
  1277.         
  1278.            Special note:  when using CLK with a custom format string    
  1279.         in a batch file, you must use the double percent sign (%) when 
  1280.         prefixing the special replaceable parameters.                   
  1281.         
  1282.         Examples:
  1283.         
  1284.              From the command line:
  1285.              
  1286.              CLK "The time is now: 0.  You have thirty minutes."
  1287.              
  1288.              produces the string:
  1289.              
  1290.              The time is now: 11:45:00.  You have thirty minutes.
  1291.              
  1292.              
  1293.              From a batch file:
  1294.              
  1295.              CLK "Today is %d %B, %Y."
  1296.              
  1297.              produces the string:
  1298.              
  1299.              Today is 06 October, 1991.
  1300.         
  1301.            For additional options in setting elements of the time to an |
  1302.         environment variable, see the program WHENISIT (also part of    |
  1303.         STEENBURGH's STUFF.                                             |
  1304.          
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.                                      Page 24
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.         CURSOR 1.0
  1328.         Copyright 1992 by Chuck Steenburgh & Tay-Jee Software
  1329.         
  1330.            CURSOR will change the DOS cursor from an "underscore" into
  1331.         a block shape and back again.
  1332.         
  1333.         Usage:       CURSOR +|-
  1334.         
  1335.                    +              Changes cursor into a block shape
  1336.                    
  1337.                    -              Changes cursor into an underscore
  1338.                    
  1339.         Examples:
  1340.         
  1341.              CURSOR +             Turns the cursor into a block shape
  1342.                                   (blinking ASCII 219 character)
  1343.              
  1344.              CURSOR -             Turns the cursor into an underscore
  1345.                                   (blinking ASCII 95 character)
  1346.         
  1347.            CURSOR will return an errorlevel of 1 if the cursor was
  1348.         changed to block shape, 0 if changed to underscore, or 2 if an
  1349.         error occurred.
  1350.          
  1351.  
  1352.  
  1353.  
  1354.  
  1355.  
  1356.  
  1357.  
  1358.  
  1359.  
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.                                      Page 25
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.         DOSVER.EXE Version 1.1
  1383.         Copyright 1991 by Chuck Steenburgh & Tay-Jee Software
  1384.         
  1385.            Use this program to determine what version of DOS is currently
  1386.         running on the system.
  1387.         
  1388.         Usage:       DOSVER [n.n]
  1389.         
  1390.                   [n.n]           optional version to check for
  1391.         
  1392.         Examples:
  1393.         
  1394.              DOSVER               returns an errorlevel based on
  1395.                                   version of DOS currently loaded
  1396.                                   
  1397.              DOSVER 3.3           checks to see if DOS version 3.3,
  1398.                                   or higher, is loaded
  1399.                                   
  1400.            DOSVER returns two possible errorlevels, based on whether
  1401.         it is reporting the DOS version or checking for a specific
  1402.         version number.
  1403.         
  1404.            When entered without parameters, DOSVER returns an error-
  1405.         level according to the chart below:
  1406.         
  1407.                   DOS Version                Errorlevel Returned
  1408.                   ===========                ===================
  1409.                       5.00                            50
  1410.                       4.01                            40
  1411.                       3.3                             33
  1412.                       3.21                            32
  1413.                        .                               .
  1414.                        .                               .
  1415.                       2.0                             20
  1416.                       etc.
  1417.                
  1418.            When entered with a version number on the command line,
  1419.         DOSVER returns the following errorlevels:
  1420.                
  1421.                     Errorlevel                 Meaning
  1422.                     ==========                 =======
  1423.                          2                     Loaded DOS higher version
  1424.                          1                     Loaded DOS same version
  1425.                          0                     Loaded DOS lower version
  1426.                
  1427.         
  1428.            DOSVER also prints a brief screen message stating the DOS    |
  1429.         version in use.                                                 |
  1430.  
  1431.                                      Page 26
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.           
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458.  
  1459.  
  1460.  
  1461.  
  1462.  
  1463.  
  1464.  
  1465.  
  1466.  
  1467.  
  1468.  
  1469.  
  1470.  
  1471.  
  1472.  
  1473.  
  1474.  
  1475.  
  1476.  
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483.  
  1484.  
  1485.  
  1486.                                      Page 27
  1487.  
  1488.  
  1489.  
  1490.  
  1491.  
  1492.         INPUT v3.2                                                      |
  1493.         Copyright 1991-1993 Chuck Steenburgh & Tay-Jee Software
  1494.         
  1495.            If you use batch files very often, you've probably acquired
  1496.         a program called ASK.COM or QUERY.COM or something similar 
  1497.         that allows you to ask questions and receive simple responses.
  1498.         Usually, this involves typing an ECHO command with your
  1499.         question, followed by ASK.COM or whatever.  If you do this
  1500.         a lot, you will probably appreciate the fact the INPUT.EXE
  1501.         will accomplish the jobs of both the ECHO and ASK commands.
  1502.         Add to this the greater flexibility that INPUT.EXE offers
  1503.         in presenting your prompt to the user and in receiving input,
  1504.         and you'll be sold.
  1505.         
  1506.         Usage: INPUT ["prompt"] [nnn] [Options]
  1507.                      
  1508.         
  1509.                   "prompt"        Enter the text you would like to
  1510.                                   appear to prompt the user for
  1511.                                   input.  This can be up to 59 char-
  1512.                                   acters and must be enclosed in
  1513.                                   quotation marks.
  1514.         
  1515.                   nnn             Enter a number representing the   
  1516.                                   color in which you want your mes-
  1517.                                   sage to appear.  You must, of
  1518.                                   course, have a color monitor and
  1519.                                   card.  See Appendix 3.
  1520.            
  1521.            Options:
  1522.                   
  1523.                   /a|A[+|-]       color Attribute selection.  When the
  1524.                                   lower-case "a" is used, input is re-
  1525.                                   stricted to the eight "normal" color
  1526.                                   attributes (0-7).  When the upper-case
  1527.                                   "A" is used, input is restricted to
  1528.                                   color attributes 0-16.  Including the
  1529.                                   "+" or "-" signs after the switch will
  1530.                                   display the available colors above or
  1531.                                   below the prompt, respectively.
  1532.                   
  1533.                   /B[+|-]         fix trailing Backslash.  /B+ concat-
  1534.                                   enates a trailing backslash to the
  1535.                                   end of the input string if not al-
  1536.                                   ready present.  /B- removes any trail-
  1537.                                   ing backslash present.
  1538.                                   
  1539.         
  1540.  
  1541.                                      Page 28
  1542.  
  1543.  
  1544.  
  1545.  
  1546.  
  1547.                   /C              Center output.  Include this switch
  1548.                                   if you want your prompt message cen-
  1549.                                   tered on the current line.
  1550.                   
  1551.                   /D              display list of available Disk drives
  1552.                                   on current system and restrict input
  1553.                                   to one of these letters.
  1554.                   
  1555.                   /Exxxxxx        Execute command.  Instead of returning
  1556.                                   errorlevel, accept text input which is
  1557.                                   supplied to command "xxxxxx."
  1558.                   
  1559.                   /F[nn]          Fixed input field of length nn.  INPUT
  1560.                                   will display a fixed, editable input
  1561.                                   field of length nn for accepting data.
  1562.                                   Cursor arrow, insert/delete, home/end,
  1563.                                   and TAB keys are active in this field.
  1564.                                   If used in conjunction with the /M
  1565.                                   switch, the current value for the en-
  1566.                                   vironment variable (if any) is dis-
  1567.                                   played in the field as a default.
  1568.                                   When this switch is used, TWO color   |
  1569.                                   values may be specified.  If more than|
  1570.                                   one is used, the FIRST is the color of|
  1571.                                   the prompt, and the second is the     |
  1572.                                   color of the input field.             |
  1573.                                   
  1574.                   /H or /?        display brief Help screen.
  1575.                   
  1576.                   /I              use this for a case-Insensitive error
  1577.                                   level return.  If this switch is
  1578.                                   included on the command line, pressing
  1579.                                   a letter a-z (lower case) will return
  1580.                                   the same value as if the corresponding
  1581.                                   key A-Z (upper case) were pressed.
  1582.                   
  1583.                   /Kxxxx          restrict Keypress.  When followed by
  1584.                                   a list of characters, INPUT will only
  1585.                                   accept those characters, issuing a
  1586.                                   warning tone when any other key (ex-
  1587.                                   cept ESC) is pressed.  The errorlevel
  1588.                                   value returned will equal the ordinal
  1589.                                   position of the selected character in
  1590.                                   the list.
  1591.                   
  1592.                   /Ln             Leftmost column in which prompt should
  1593.                                   appear.
  1594.                   
  1595.  
  1596.                                      Page 29
  1597.  
  1598.  
  1599.  
  1600.  
  1601.  
  1602.                   /Mxxxxxx        receive text input and set Master en-
  1603.                                   vironment variable xxxxxx with data 
  1604.                                   received.  Defaults to variable name 
  1605.                                   of INPUT if no name is provided.
  1606.                   
  1607.                   /Oxxxxx         cOncatenate "xxxxxx" to end of data
  1608.                                   entered.  Valid only for string input
  1609.                                   options /M and /F.  Adds the specified
  1610.                                   characters to the end of the value en-
  1611.                                   tered by the user.  If you must in-
  1612.                                   clude spaces, enclose the whole switch
  1613.                                   in quotes.
  1614.                                   
  1615.                   /Pd             Pause 10 seconds for user input, then 
  1616.                                   default to "d" (where "d" is any char-
  1617.                                   acter.  INPUT will wait up 10 seconds 
  1618.                                   for user input.  If no key is pressed 
  1619.                                   within 10 seconds, INPUT will act as  
  1620.                                   if the key specified by the key rep-  
  1621.                                   resented by the single character "d"  
  1622.                                   was pressed.  Note that all other     
  1623.                                   switches (case insensitivity, yes/no  
  1624.                                   answer, etc.) remain active if time   
  1625.                                   expires and the default key is used.  
  1626.                                   INPUT adds a warning that it will de- 
  1627.                                   fault to the specified value after 10 
  1628.                                   seconds, and will display a succession
  1629.                                   of ten dots to indicate elapsed time. 
  1630.                                   
  1631.                   /Q              Quiet mode.  Suppresses the audible
  1632.                                   alarm prompt.
  1633.                   
  1634.                   /Rn             Row in which prompt should appear.
  1635.                                   
  1636.                   /S              Show keypress.  Adding this switch
  1637.                                   will cause INPUT to display the
  1638.                                   errorlevel value returned.  Use this
  1639.                                   for quick "debugging" of your use
  1640.                                   of INPUT
  1641.                   
  1642.                   /V              instead of a single keypress, causes  
  1643.                                   INPUT to read a numeric Value (con-   
  1644.                                   cluded with a carriage return) between
  1645.                                   0 and 255 from the keyboard.  Values
  1646.                                   less than 0 will return 0 and values
  1647.                                   greater than 255 will return 255.
  1648.                                   
  1649.                   /Wn             when used in conjunction with the /P
  1650.  
  1651.                                      Page 30
  1652.  
  1653.  
  1654.  
  1655.  
  1656.  
  1657.                                   switch, changes the default Wait time
  1658.                                   to n seconds, where n is no greater
  1659.                                   than 999 seconds.
  1660.                   
  1661.                   /X              When used in conjunction with the /W 
  1662.                                   and/or /P switches will suppress dis-
  1663.                                   play of the default value and timer  
  1664.                                   "ticks."
  1665.                                   
  1666.                   /Y              use this for a Yes-no only response.  
  1667.                                   If the "n" key is pressed, errorlevel 
  1668.                                   of "0" is returned; pressing any other
  1669.                                   key returns an errorlevel of 1.  The  
  1670.                                   prompt "(Y/n)" is appended to the nor-
  1671.                                   mal prompt specified by the user.     
  1672.                                   
  1673.                   /N              Use this for a yes-No only response.  
  1674.                                   If the "y" key is pressed, errorlevel 
  1675.                                   of "1" is returned; pressing any other
  1676.                                   key returns an errorlevel of 0.  The  
  1677.                                   prompt "(y/N)" is appended to the nor-
  1678.                                   mal prompt specified by the user.     
  1679.                                   This switch takes precedence over the 
  1680.                                   /y switch.                            
  1681.                                   
  1682.                   The command line parameters may be entered in any 
  1683.                   order, may be in any case, and may be preceded by 
  1684.                   either the "/" or "-" character.     
  1685.         
  1686.         Examples:
  1687.         
  1688.              INPUT "Select a number from one to 10"
  1689.         
  1690.              This prints the text "Select on number from one to 10"
  1691.         on the current line and waits for a keypress.
  1692.         
  1693.              INPUT "Press any key to continue" 79
  1694.         
  1695.              This prints the text "Press any key to continue" on the
  1696.         current line in bright white on a red background and waits
  1697.         for a keypress.
  1698.         
  1699.              INPUT "Press the space bar to exit" 143 /c
  1700.         
  1701.              This prints the text "Press the space bar to exit" cen-
  1702.         tered on the current line in flashing bright white on a black
  1703.         background.
  1704.         
  1705.  
  1706.                                      Page 31
  1707.  
  1708.  
  1709.  
  1710.  
  1711.  
  1712.              INPUT /s /i "Press any key..." /c 14
  1713.              
  1714.              Prompts user with "Press any key..." in yellow on black.
  1715.         Returns a case-insensitive errorlevel and displays it on the
  1716.         screen before terminating.
  1717.         
  1718.              INPUT "Do you wish to continue?" /s 79 /y              
  1719.              
  1720.              Prompts user with "Do you wish to continue? (Y/n)" in 
  1721.         white on red.  Returns errorlevel of 1 unless the "n" key is
  1722.         pressed.  Displays errorlevel on screen.
  1723.         
  1724.              INPUT "Press any key..." /pf                               
  1725.              
  1726.              Prompts user with "Press any key... (defaults to f after 
  1727.         10 seconds)" in black on white.  Returns errorlevel of 102 if   
  1728.         no key is pressed within 10 seconds, otherwise returns value of 
  1729.         key pressed.
  1730.         
  1731.              INPUT "Press any key..." /c /pf                         
  1732.              
  1733.              Prompts user with "Press any key... (defaults to f after   
  1734.         10 seconds)" in black on white.  Returns errorlevel of 70 if no 
  1735.         key is pressed within 10 seconds, otherwise returns the upper   
  1736.         case ASCII value of the key pressed.                           
  1737.         
  1738.              INPUT "Enter data:" /p1 /w15 /q 30
  1739.              
  1740.              Prompts user with "Enter data: (defaults to 1 after 15
  1741.         seconds)" in yellow on blue.  Returns errorlevel of 49 if no
  1742.         key is pressed after 15 seconds, otherwise returns the error-
  1743.         level of the key pressed.  The alarm does NOT sound.
  1744.         
  1745.              INPUT "How many copies should be printed? " /v /c
  1746.              
  1747.              Prompts user with "How many copies should be printed?"
  1748.         centered on the current line.  A number can be entered by the
  1749.         user and INPUT will return an errorlevel equal to the number
  1750.         entered (between 0 and 255).  If the /V switch is used, the
  1751.         data entered by the user will appear on screen, and can be
  1752.         changed using backspace before pressing <Return>.
  1753.         
  1754.              INPUT "Press any key to continue..." /p /x
  1755.              
  1756.              Displays the familiar DOS PAUSE message, but exits after
  1757.         a 10 second delay if no key is pressed.  An errorlevel of 0 is
  1758.         returned.
  1759.         
  1760.  
  1761.                                      Page 32
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.              INPUT "Switch to which drive?" /D
  1768.              
  1769.              Displays prompt "Switch to which drive?" followed by a
  1770.         list of all valid drives on the system.  Will not exit until
  1771.         one of these drive letters is pressed.
  1772.         
  1773.              INPUT "Enter a directory mask " /Edir /C
  1774.              
  1775.              Centers prompt "Enter a directory mask " on screen.  Exe-
  1776.         cutes DOS "dir" command, using any text entered in response to
  1777.         prompt as arguments.  For example, if user typed "*.exe /p" the
  1778.         command "dir *.exe /p" will be executed by INPUT.  This allows
  1779.         INPUT to be used to enter limited string data.
  1780.         
  1781.             INPUT "Enter a file name: " /MFILENAME
  1782.             
  1783.             Accepts text data from keyboard and places value entered
  1784.         in the master environment in a variable named "filename."  This
  1785.         value can later be accessed within a batch file or via other
  1786.         programs.
  1787.         
  1788.              INPUT "New PATH: " /MPATH /F60
  1789.              
  1790.            Displays the current PATH setting in a fixed-length field 60
  1791.         characters wide.  It may then be edited and saved by pressing
  1792.         ENTER.
  1793.         
  1794.              INPUT "Select an option: " /KABC
  1795.         
  1796.            Returns an errorlevel of 1 if A is pressed, 2 if B, and 3 if
  1797.         C is pressed.  Sounds a beep if any other key is pressed and
  1798.         waits for valid keypress or ESC.
  1799.         
  1800.              CD | INPUT /MDIR /Q
  1801.         
  1802.            In this redirection example, the output of the "CD" command
  1803.         is "piped" into INPUT, which stores in information in an envir-
  1804.         onment variable called DIR.  (The CD command entered by ltself
  1805.         displays the current drive and directory name.)  The output of
  1806.         virtually any command can be stored in the environment using
  1807.         INPUT in this manner.
  1808.         
  1809.            INPUT will also sound an alarm to let the user know that
  1810.         a response is expected (unless /Q switch specified).
  1811.         
  1812.            When a key is pressed, INPUT will set the errorlevel equal
  1813.         to the ASCII value of the key pressed.  This is slightly dif-
  1814.         ferent from BATBOX in that in normal operation INPUT is case
  1815.  
  1816.                                      Page 33
  1817.  
  1818.  
  1819.  
  1820.  
  1821.  
  1822.         sensitive and will allow you to distinguish between upper and
  1823.         lower case letters.  If you want a case-insensitive return, use
  1824.         the /i switch.  See Appendix 2 for a complete list of the ASCII
  1825.         characters theoretically supported by INPUT.  If the /H or /?
  1826.         parameter was specified, the errorlevel returned will be 255.
  1827.         
  1828.            If the ESC key is pressed, an errorlevel of 254 will be re-
  1829.         turned.
  1830.         
  1831.            When using the /E parameter to execute a batch file, be sure
  1832.         to include the extension ".BAT" as part of the switch.
  1833.         
  1834.            When using the /M switch to set an environment variable, the
  1835.         variable name you supply will be converted to upper case.  DOS
  1836.         will only recognize upper case variables within batch files.
  1837.         
  1838.            When using the /M switch in conjunction with /Y or /N, the
  1839.         variable will be assigned a value of YES or NO as appropriate.
  1840.         
  1841.            SPECIAL NOTE TO 4DOS* and NDOS USERS
  1842.            
  1843.            INPUT.EXE conflicts with 4DOS' INPUT internal command.  To
  1844.         remedy this situation, create a batch file containing the two
  1845.         lines below (or add them to your AUTOEXEC.BAT file) and execute
  1846.         once each time your computer is turned on:
  1847.         
  1848.              alias input d:\path\input.exe
  1849.              alias inp4 *input
  1850.              
  1851.            The first line creates an alias of "input" for the program 
  1852.         INPUT.EXE.  The second line creates an alias of "inp4" for the
  1853.         internal 4DOS INPUT command.  Make sure the "d:\path\" part of
  1854.         the first line is replaced with the actual drive/path in which
  1855.         INPUT.EXE is located on your system.  Since INPUT performs many
  1856.         more functions than the 4DOS command, it is desirable to
  1857.         avoid any confusion and simply replace 4DOS' INPUT command.
  1858.         
  1859.         * 4DOS is a registered trademark of JP Software Inc.
  1860.          
  1861.  
  1862.  
  1863.  
  1864.  
  1865.  
  1866.  
  1867.  
  1868.  
  1869.  
  1870.  
  1871.                                      Page 34
  1872.  
  1873.  
  1874.  
  1875.  
  1876.  
  1877.         KLS 3.0                                                         |
  1878.         Copyright 1991-1994 Chuck Steenburgh & Tay-Jee Software
  1879.         
  1880.            KLS is a simple replacement for the DOS screen-clearing
  1881.         function (CLS).  
  1882.         
  1883.         Usage:       KLS [color] [/Bn] [/M] [/V] [/X | /N] [/H]         |
  1884.         
  1885.                   color           A number from the list below:
  1886.         
  1887.                                          0 - Black
  1888.                                          1 - Blue
  1889.                                          2 - Green
  1890.                                          3 - Cyan
  1891.                                          4 - Red
  1892.                                          5 - Magenta
  1893.                                          6 - Brown
  1894.                                          7 - White
  1895.                   
  1896.                   /Bn            Change border to color n, where n:
  1897.                   
  1898.                                          0 - Black
  1899.                                          1 - Blue         
  1900.                                          2 - Green        
  1901.                                          3 - Cyan         
  1902.                                          4 - Red          
  1903.                                          5 - Magenta      
  1904.                                          6 - Brown        
  1905.                                          7 - White        
  1906.                                          8 - Grey         
  1907.                                          9 - Bright blue  
  1908.                                         10 - Light green  
  1909.                                         11 - Light cyan   
  1910.                                         12 - Light red    
  1911.                                         13 - Light magenta
  1912.                                         14 - Yellow       
  1913.                                         15 - Bright white 
  1914.                   
  1915.                   /H | /?        Display brief help screen.
  1916.         
  1917.                   /M             Report EGA/VGA memory installed.       |
  1918.         
  1919.                   /N             Return to normal 25-line mode.
  1920.                   
  1921.                   /V             Verbose report
  1922.                    
  1923.                   /X             Enter extended video mode (43 lines
  1924.                                  for EGA, 50 lines for VGA).
  1925.  
  1926.                                      Page 35
  1927.  
  1928.  
  1929.  
  1930.  
  1931.  
  1932.                   
  1933.         Examples:
  1934.              
  1935.              KLS 4                Clears the screen & paints it red.
  1936.              
  1937.              KLS 6                Clears the screen & paints it brown.
  1938.              
  1939.              KLS /B4              Turns border magenta.                 
  1940.              
  1941.              KLS /B1 6            Clears screen & paints it brown with 
  1942.                                   a blue border.
  1943.              
  1944.              KLS /4 /B4 /E        Clears screen, sets screen to 43- or
  1945.                                   50-line mode, and paints screen and 
  1946.                                   border red.
  1947.              
  1948.              KLS /N               Clears screen, returning it to 25-
  1949.                                   line mode and default color.
  1950.              
  1951.              KLS /V /M            Clears screen, reports amount of      |
  1952.                                   EGA/SVGA memory (if applicable), and  |
  1953.                                   reports findings to screen in detail. |
  1954.              
  1955.         When the screen is cleared, it will be set to the color indi-
  1956.         cated on the command line.  Entering KLS without parameters
  1957.         is the same as issuing CLS (i.e., clear screen without color).
  1958.         "KLS 0" is useful if you have used ANSI or some other method
  1959.         to set your screen to a color other than black, but you want
  1960.         a black screen temporarily.
  1961.         
  1962.            The /B switch, by itself, does NOT clear the screen.  Some-
  1963.         times you will want to reset the border color without erasing
  1964.         what is on the screen (such as when a "misbehaved" program
  1965.         changes the color of your screen border and does not reset it).
  1966.         
  1967.            KLS also detects the type of video display card installed
  1968.         and returns errorlevel codes as shown below:
  1969.            
  1970.              0 - monochrome display adapter (MDA)
  1971.              1 - color graphic adapter (CGA)
  1972.              2 - extended graphics adapter (EGA)
  1973.              3 - video graphics array (VGA)
  1974.              4 - multi-color graphics adapter (MCGA)
  1975.              5 - Hercules graphics adapter
  1976.              SVGA cards:
  1977.              6 - VESA-compatible SVGA card                              |
  1978.              7 - AHEAD-A chipset                                        |
  1979.              8 - AHEAD-B chipset                                        |
  1980.  
  1981.                                      Page 36
  1982.  
  1983.  
  1984.  
  1985.  
  1986.  
  1987.              9 - ATI 18800 chipset                                      |
  1988.             10 - ATI 18800-1 chipset                                    |
  1989.             11 - ATI 28800 chipset                                      |
  1990.             12 - C&T 82c451 chipset                                     |
  1991.             13 - C&T 82c452 chipset                                     |
  1992.             14 - C&T 82c453 chipset                                     |
  1993.             15 - Genoa 6000 chipset                                     |
  1994.             16 - Oak OTI-067 chipset                                    |
  1995.             17 - Paradise PVGA1a chipset                                |
  1996.             18 - Paradise WD90C00 chipset                               |
  1997.             19 - Paradise WD90C11 chipset                               |
  1998.             20 - Trident 8800 chipset                                   |
  1999.             21 - Trident 8900 chipset                                   |
  2000.             22 - Tseng ET3000 chipset                                   |
  2001.             23 - Tseng ET4000 chipset                                   |
  2002.             24 - Video7 chipset                                         |
  2003.             25 - Cirrus Logic 54xx chipset                              |
  2004.             26 - S3 chipset                                             |
  2005.             27 - Trident 8900B/C chipset                                |
  2006.              
  2007.            When using the /V switch, a brief screen message describing
  2008.         the installed video card is displayed.
  2009.         
  2010.            When using the /M switch, the errorlevel is set too indicate |
  2011.         the type of card and amount of video memory as follows:         |
  2012.         
  2013.             Errorlevel               Video card & memory                |
  2014.             ==========               ===================                |
  2015.                 41                       EGA w/64k                      |
  2016.                 42                       EGA w/128k                     |
  2017.                 43                       EGA w/192k                     |
  2018.                 44                       EGA w/256k                     |
  2019.                 51                       SVGA w/512k                    |
  2020.                 52                       SVGA w/1024k                   |
  2021.                 53                       SVGA w/1536k                   |
  2022.                 54                       SVGA w/2048k                   |
  2023.                 etc...                                                  |
  2024.              
  2025.            If you make an error (specify an invalid color value), KLS
  2026.         will sound a tone return an errorlevel of 255.
  2027.          
  2028.  
  2029.  
  2030.  
  2031.  
  2032.  
  2033.  
  2034.  
  2035.  
  2036.                                      Page 37
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.         LAUNCHER.EXE 2.61
  2043.         Copyright 1991,1992 Chuck Steenburgh & Tay-Jee Software
  2044.         
  2045.            Do some of your programs require you to load a data file
  2046.         once you start the program?  Are these data files located in
  2047.         a different directory, or do you have to enter several cryptic 
  2048.         commands to get your program to load a data file?  LAUNCHER is
  2049.         designed to work with any program that can accept the name of
  2050.         a data file on the command line.  LAUNCHER will display a
  2051.         menu of your data files, and then start your application with
  2052.         the name of the file you select on the command line to be
  2053.         loaded immediately.
  2054.         
  2055.            LAUNCHER uses a rather novel method of automatically de-
  2056.         termining the name of the application you are going to use
  2057.         it with.  Rather than needing a configuration file or compli-
  2058.         cated command line switches, LAUNCHER reads the application
  2059.         name from its own file name.  Rename the LAUNCHER.EXE file
  2060.         after the application you want to run, PLUS ANY ONE ADDITIONAL
  2061.         CHARACTER.  Put this renamed version of launcher in the same
  2062.         directory as your application, and you're ready to LAUNCH!
  2063.         Optionally, LAUNCHER will use a more traditional means of 
  2064.         of specifying the name of your application program through the
  2065.         use of the /E switch described below.
  2066.         
  2067.         Usage:       NEWNAME [path:\]filespec [/B] [/Cnnn] [/E:filename]
  2068.                              [/F] [/H | /?] [/N] [\parms]               |
  2069.                              
  2070.                   NEWNAME         This is the new name which you have
  2071.                                   given to LAUNCHER.EXE, based on the
  2072.                                   name of your application.  (It is
  2073.                                   not required for you to rename the
  2074.                                   LAUNCHER.EXE file if you use the /E
  2075.                                   switch).
  2076.         
  2077.                   path:\          Optional drive and/or path for data
  2078.                                   files.
  2079.         
  2080.                   filespec        This filespec designates what files
  2081.                                   are to be displayed by LAUNCHER.
  2082.                                   You may include a drive and/or dir-
  2083.                                   ectory name, and wildcards (? *).
  2084.                   
  2085.                   /B              Write command generated to a file 
  2086.                                   named LAUNCHME.BAT rather than exec-
  2087.                                   uting immediately.  This method MUST
  2088.                                   be used when launching batch file app-
  2089.                                   lications.
  2090.  
  2091.                                      Page 38
  2092.  
  2093.  
  2094.  
  2095.  
  2096.  
  2097.                   
  2098.                  /Cnnn            Specify color.  Normally, LAUNCHER
  2099.                                   uses a bright white on black display
  2100.                                   scheme.  Specify a color to use with
  2101.                                   the numeric value nnn, where nnn is 
  2102.                                   between 0 and 127.  See Appendix 3  
  2103.                                   color calculation.
  2104.         
  2105.                   /E:filename     Optional parameter to specify the name
  2106.                                   of your application.  You may include
  2107.                                   your application's complete path if
  2108.                                   necessary.
  2109.         
  2110.                   /F              Include only file names on command
  2111.                                   line.  Normally, LAUNCHER will in-
  2112.                                   clude any path you have specified
  2113.                                   on the command line string built.
  2114.                                   Use this switch if your application
  2115.                                   does not require the path name.
  2116.         
  2117.                  /H or /?         Displays help screen.
  2118.                  
  2119.                  /N               Use 25-line display mode (EGA/VGA)    |
  2120.         
  2121.                  \parms           Enter any additional command line     
  2122.                                   parameters you would like to use with 
  2123.                                   your application program, prefaced    
  2124.                                   with a backslash.  ALL parameters that
  2125.                                   come AFTER the backslash will be pas- 
  2126.                                   sed to your application (and ignored  
  2127.                                   by LAUNCHER).
  2128.         
  2129.         Examples:
  2130.         
  2131.              WPI b:\wp\*.doc      This will LAUNCH Word Perfect
  2132.                                   (WP.EXE) after displaying all files
  2133.                                   in the B:\WP subdirectory with the
  2134.                                   extension .DOC.  This assumes that
  2135.                                   you have renamed LAUNCHER.EXE as
  2136.                                   WPI.EXE and that this file is in the
  2137.                                   same directory as Word Perfect.
  2138.         
  2139.              WSI c:\ws\*.doc /f   LAUNCHES WordStar (WS.EXE) from
  2140.                                   data files in directory c:\ws\docs.
  2141.                                   DOES NOT include the path when
  2142.                                   LAUNCHING WordStar.  (Assumes that
  2143.                                   c:\ws is set up as your default
  2144.                                   files directory in WSCHANGE.)
  2145.  
  2146.                                      Page 39
  2147.  
  2148.  
  2149.  
  2150.  
  2151.  
  2152.         
  2153.              WSI *.doc /n         LAUNCHES WordStar using a data file
  2154.                                   selected from those in the current
  2155.                                   directory matching the filespec
  2156.                                   *.doc.  It includes the "/n" param-
  2157.                                   eter (nondocument mode) when starting
  2158.                                   WordStar.
  2159.         
  2160.              WP1 *.txt /C30       LAUNCHES WordPerfect using a data
  2161.                                   selected from those meeting file spec
  2162.                                   *.txt.  Displays menu in yellow on
  2163.                                   a blue background.
  2164.              
  2165.              LAUNCHER *.WKS /e:C:\123\123.BAT                           
  2166.              
  2167.                                   Writes a batch file named LAUNCHME.BAT
  2168.                                   which will load Lotus 1-2-3 with the  
  2169.                                   selected .WKS as a data file.
  2170.              
  2171.              LAUNCHER *.* /e:C:\DOS\EDIT.COM \/b /h                     |
  2172.              
  2173.                                   Writes a LAUNCHME.BAT file which will |
  2174.                                   load the selected file into DOS' EDIT |
  2175.                                   program, using the /b and /H switches |
  2176.                                   for EDIT.                             |
  2177.         
  2178.            After running LAUNCHER, you will see a display of files
  2179.         meeting the filespec you have supplied appear on the screen.
  2180.         Files will be listed alphabetically from left to right and top
  2181.         to bottom.  The first file will be highlighted in reverse video.
  2182.         Use the four cursor movement keys (arrow keys), position the
  2183.         highlight bar over the name of the file you would like loaded
  2184.         into your application, then press enter.  LAUNCHER will then
  2185.         build a command line which includes the file just selected.  If
  2186.         you press the ESC key instead of enter, your application will
  2187.         be started WITHOUT a data file.  If no files were found that
  2188.         matched the filespec, LAUNCHER will terminate without loading
  2189.         the application and set the DOS errorlevel to 1.
  2190.         
  2191.            Some programs that require very large amounts of memory, 
  2192.         such as Quattro Pro by Borland, will not work properly when
  2193.         LAUNCHED.  If at all possible, when using LAUNCHER, configure
  2194.         your applications so that they use as little memory as pos-
  2195.         sible.  Most word processing programs do not need special con-  
  2196.         figuration, as they can run in 512K or less of memory.  The     
  2197.         reason for this limitation is that LAUNCHER remains in memory
  2198.         when your application is LAUNCHED, taking up about 30k of    
  2199.         memory.  Use of the /B switch makes it possible for much larger
  2200.  
  2201.                                      Page 40
  2202.  
  2203.  
  2204.  
  2205.  
  2206.  
  2207.         programs to be LAUNCHED.
  2208.         
  2209.            Version 2.6 now correctly runs batch file applications.  To
  2210.         ensure proper performance, you should only run batch file app-
  2211.         lications using both the /E and /B switches.  See the demo file
  2212.         SAMPLE.BAT for an example of how to "automatically" LAUNCH pro-
  2213.         grams using the /B switch.
  2214.         
  2215.          
  2216.  
  2217.  
  2218.  
  2219.  
  2220.  
  2221.  
  2222.  
  2223.  
  2224.  
  2225.  
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.  
  2232.  
  2233.  
  2234.  
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248.  
  2249.  
  2250.  
  2251.  
  2252.  
  2253.  
  2254.  
  2255.  
  2256.                                      Page 41
  2257.  
  2258.  
  2259.  
  2260.  
  2261.  
  2262.         MUSIC.EXE 2.01
  2263.         Copyright 1991 by Chuck Steenburgh & Tay-Jee Software
  2264.         
  2265.             For some time now I have wanted an inexpensive way to 
  2266.         play short tunes on my PC.  While there are many music pro-
  2267.         grams available, they usually require expensive hardware, 
  2268.         large memory overhead, too much musical knowledge, or custom-
  2269.         made musical files that you had to buy from somebody.  Des-
  2270.         perate, I finally decided to write my own program!
  2271.         
  2272.         Usage:       MUSIC [file[.CM1]] [/d] [/r] [/s] [/v]             |
  2273.             
  2274.                   file            The name of a music file with
  2275.                                   extension .CM1 which contains
  2276.                                   the transcribed music to be
  2277.                                   played.  Extension is optional.
  2278.                                   
  2279.                   /d              Optional parameter specifying
  2280.                                   "debug" mode.  The line number
  2281.                                   of each note in the .CM1 file
  2282.                                   will be displayed as it is
  2283.                                   played.  This is useful in lo-
  2284.                                   cating errors in the music file.
  2285.                   
  2286.                   /r              When used alone on the command line,  
  2287.                                   indicates random play mode.  MUSIC    
  2288.                                   will search the current directory for 
  2289.                                   all music files present, and will     
  2290.                                   select one to be played at random.
  2291.                  
  2292.                  /s               Singalong mode.  Displays musical     |
  2293.                                   scale and "bouncing note" in time     |
  2294.                                   with music.  For files with lyrics,   |
  2295.                                   the words will be displayed in time   |
  2296.                                   with the music also.  Cannot be used  |
  2297.                                   in conjunction with /v switch.        |
  2298.                  
  2299.                  /v               Vidoe display mode.  Shows flashing   |
  2300.                                   musical notes randomly scattered      |
  2301.                                   across the screen, in time with the   |
  2302.                                   music.  Cannot be used in conjunction |
  2303.                                   with the /s switch.                   |
  2304.         
  2305.         Examples:
  2306.         
  2307.              MUSIC    dixie2.cm1  Plays the song "Dixie" encoded
  2308.                                   in the file DIXIE2.CM1 (this
  2309.                                   file included with the STUFF).
  2310.  
  2311.                                      Page 42
  2312.  
  2313.  
  2314.  
  2315.  
  2316.  
  2317.                                   
  2318.              MUSIC    dixie2 /d   Plays "Dixie" and displays the
  2319.                                   line number of each note as it
  2320.                                   is played.
  2321.              
  2322.              MUSIC    /r          Plays at random one of the music
  2323.                                   files in the current directory.
  2324.              
  2325.              MUSIC    /r /s       Plays a random song, displaying       |
  2326.                                   musical scale and lyrics.             |
  2327.         
  2328.            When MUSIC is entered alone on the command line with no
  2329.         parameters, a brief help screen is displayed.
  2330.         
  2331.            MUSIC returns errorlevel values as shown below:
  2332.         
  2333.              0   Normal termination
  2334.              1   Invalid music file
  2335.              2   Other error (invalid note, no files present, help)
  2336.              3   No .CM1 files found (with /r switch)                   |
  2337.              4   /S and /V switches used together                       |
  2338.         
  2339.            For information on how to create your own music files, see
  2340.         Appendix 4 and use the sample files as a guide.
  2341.         
  2342.         
  2343.          
  2344.  
  2345.  
  2346.  
  2347.  
  2348.  
  2349.  
  2350.  
  2351.  
  2352.  
  2353.  
  2354.  
  2355.  
  2356.  
  2357.  
  2358.  
  2359.  
  2360.  
  2361.  
  2362.  
  2363.  
  2364.  
  2365.  
  2366.                                      Page 43
  2367.  
  2368.  
  2369.  
  2370.  
  2371.  
  2372.         RAND 2.0
  2373.         Copyright 1991-1993 Chuck Steenburgh & Tay-Jee Software
  2374.         
  2375.            RAND provides simple random number generating capabilities
  2376.         for batch files.  RAND returns a random number in the form of
  2377.         the DOS errorlevel, which you can then evaluate in your batch
  2378.         files.
  2379.                
  2380.         Usage:        RAND [max value] | [/f]
  2381.         
  2382.                   max value       Upper limit of random number range.
  2383.                                   RAND will generate an errorlevel
  2384.                                   between 1 and this number.  The de-
  2385.                                   fault is 100.  The maximum is 255.
  2386.                   
  2387.                   /f              Rand will generate a unique file name |
  2388.                                   and display it.  This name can be re- |
  2389.                                   directed via DOS as input to another  |
  2390.                                   command or program.                   |
  2391.                                   
  2392.         Examples:
  2393.         
  2394.              RAND                 Generates a random errorlevel be-
  2395.                                   tween 1-100.
  2396.                                   
  2397.              RAND 10              Generates a random errorlevel be-
  2398.                                   tween 1-10.
  2399.              
  2400.              RAND /F              Generates a unique file name          |
  2401.                                   
  2402.            If the max value specified is greater than 255 or less than
  2403.         1, RAND sets the errorlevel to 0.
  2404.                 
  2405.          SIFT Version 1.0
  2406.  
  2407.  
  2408.  
  2409.  
  2410.  
  2411.  
  2412.  
  2413.  
  2414.  
  2415.  
  2416.  
  2417.  
  2418.  
  2419.  
  2420.  
  2421.                                      Page 44
  2422.  
  2423.  
  2424.  
  2425.  
  2426.  
  2427.         Copyright 1993 Chuck Steenburgh & Tay-Jee Software
  2428.         
  2429.         
  2430.            The three filters that come with DOS, MORE, FIND, and SORT,
  2431.         are indispensable batch file programming tools.  Unfortunately,
  2432.         as useful as they are, they are still fairly limited in what
  2433.         they can do.  SIFT is a multi-purpose DOS filter that greatly
  2434.         expands on the capabilities of FIND.
  2435.         
  2436.         Syntax:
  2437.         
  2438.              SIFT [options] < source
  2439.             source | SIFT [options]\n");
  2440.             
  2441.         [options]    one or more of the following:\n");
  2442.                   
  2443.                   /a              Non-numeric output only.  Strips all
  2444.                                   numbers from output.
  2445.                                   
  2446.                   /b              Backwards (reverse) output.  Reverses
  2447.                                   each line of filtered text.
  2448.                                   
  2449.                   /c              Display occurence of find only (iden-
  2450.                                   tical to FIND).
  2451.                                   
  2452.                   /d              Numeric output only.  Strips all non-
  2453.                                   numeric characters from output.
  2454.                                   
  2455.                   /e[nnn]         Convert to non-graphic characters.
  2456.                                   SIFT will normally substitute the "*"
  2457.                                   (ASCII 42) character unless an alter-
  2458.                                   nate ASCII value is specified as nnn.
  2459.                                   
  2460.                   /fxxxxxx        Output (find) lines containing string
  2461.                                   xxxxxx only.
  2462.                                   
  2463.                   /i              case-insensitive find (/f or /v)
  2464.                                   (identical to FIND).
  2465.                                   
  2466.                   /l              convert output to lowercase
  2467.                   
  2468.                   /n              display line numbers of output (iden-
  2469.                                   tical to FIND).
  2470.                                   
  2471.                   /pnn            inverse truncate after nn characters
  2472.                                   (print output, skipping first nn char-
  2473.                                   acters).
  2474.                   
  2475.  
  2476.                                      Page 45
  2477.  
  2478.  
  2479.  
  2480.  
  2481.  
  2482.                   /r              display number of occurence of output
  2483.                                   (relative position of find)
  2484.                   
  2485.                   /tnn            truncate output to nn characters
  2486.                   
  2487.                   /u              convert output to uppercase
  2488.                   
  2489.                   /vxxxxxx        display lines NOT containing string 
  2490.                                   xxxxxx
  2491.                             
  2492.                   /2              Two-column output.  Successive lines
  2493.                                   of less than 40 characters are com-
  2494.                                   bined on the same output line.
  2495.                                   
  2496.                   /h or /?        Display help screen
  2497.         
  2498.         
  2499.            SIFT is essentially a superset of the FIND filter, providing
  2500.         many more functions.  It uses the basic syntax of the FIND com-
  2501.         mand.
  2502.         
  2503.         Examples:
  2504.         
  2505.              PATH | SIFT /P5
  2506.              
  2507.            Displays the PATH setting, excluding the first 5 characters
  2508.         (i.e., "PATH=").
  2509.         
  2510.              SIFT /FTay-Jee /I /D < PHONE.LST
  2511.            
  2512.            Searches the file PHONE.LST for the string "Tay-Jee" (any
  2513.         case) and outputs all NUMERIC values on that line.  Useful,
  2514.         for example, in finding/displaying phone numbers or other
  2515.         values.
  2516.         
  2517.          
  2518.  
  2519.  
  2520.  
  2521.  
  2522.  
  2523.  
  2524.  
  2525.  
  2526.  
  2527.  
  2528.  
  2529.  
  2530.  
  2531.                                      Page 46
  2532.  
  2533.  
  2534.  
  2535.  
  2536.  
  2537.         SKIP.EXE
  2538.         Copyright 1991 by Chuck Steenburgh & Tay-Jee Software
  2539.         
  2540.            ECHO does not permit you to enter blank lines in batch 
  2541.         files.  While there are various tricks to accomplish this, 
  2542.         and a number of small .COM programs to accomplish this task, 
  2543.         you must still enter a separate command for each blank line.
  2544.         
  2545.         Usage:       SKIP [lines]
  2546.         
  2547.                   lines           The number of lines you would like
  2548.                                   to skip; the default is one.
  2549.         
  2550.         Examples:
  2551.         
  2552.              SKIP                 Skips a single line
  2553.         
  2554.              SKIP 5               Skips five lines.
  2555.         
  2556.            SKIP sets the errorlevel equal to the number of lines skipped.
  2557.                 
  2558.                  
  2559.  
  2560.  
  2561.  
  2562.  
  2563.  
  2564.  
  2565.  
  2566.  
  2567.  
  2568.  
  2569.  
  2570.  
  2571.  
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578.  
  2579.  
  2580.  
  2581.  
  2582.  
  2583.  
  2584.  
  2585.  
  2586.                                      Page 47
  2587.  
  2588.  
  2589.  
  2590.  
  2591.  
  2592.         
  2593.         SOUNDER.EXE 3.1                                                 |
  2594.         Copyright 1991-1993 Chuck Steenburgh & Tay-Jee Software         |
  2595.                
  2596.            SOUNDER is an advanced replacement for any number of util-
  2597.         ities (with names like BEEP.COM or MUSIC.COM).  Most of these
  2598.         programs make a simple noise or maybe play a short melody.
  2599.         Most restrict you to the same monotonous tones over and over
  2600.         again.  SOUNDER presents you with a virtually unlimited range
  2601.         of options which you can control, with ZILLIONS (up to 10 to
  2602.         the 400th power!) of possible tone sequences.
  2603.                
  2604.         Usage:       SOUNDER  [note] [dur] or
  2605.                      SOUNDER  [/Ln] [/Rn] [/Tn [+] or
  2606.                      SOUNDER  [/En] [/F]                                |
  2607.                
  2608.                   note            A musical note (A,B,C,D,E,F,G).
  2609.                
  2610.                   dur             Duration of tone or note in seconds.  |
  2611.                                   Must be a whole number between 1-9.   |
  2612.         
  2613.                   /Ln             Base length for random play.  Spec-
  2614.                                   ify the base length of the series of
  2615.                                   random tones desired in tenths of a
  2616.                                   second, where "n" is the desired tone
  2617.                                   length.  0 < n <= 300.
  2618.                   
  2619.                   /Rn             Repeat random tone sequences "n" num-
  2620.                                   ber of times. 0 < n <= 20.
  2621.                   
  2622.                   /Tn             Specify range of random number of
  2623.                                   tones.  1 to n random tones will be
  2624.                                   generated per cycle.  0 < n <= 10.
  2625.                   
  2626.                   +               Make number of tones specified by /T
  2627.                                   switch absolute.
  2628.                   
  2629.                   /En             Use special sound effect number n,    |
  2630.                                   where n is one the following four     |
  2631.                                   types of sound effects:               |
  2632.                                   
  2633.                                        1 - increasing pitch             |
  2634.                                        2 - decreasing pitch             |
  2635.                                        3 - up-down wail                 |
  2636.                                        4 - down-up wail                 |
  2637.                                       
  2638.                   /F              Use in conjunction with /E on very    |
  2639.                                   fast PCs to slow down the sounds.     |
  2640.  
  2641.                                      Page 48
  2642.  
  2643.  
  2644.  
  2645.  
  2646.  
  2647.         
  2648.            The default is for SOUNDER to generate 1-3 random tones with
  2649.         an overall tone length of approximately 2/3 second.
  2650.                
  2651.         Examples:
  2652.                
  2653.              sounder              Produces 1-3 random tones for a total
  2654.                                   length of approximately 2/3 second.
  2655.                
  2656.              sounder C 2          Produces a 'C' note for two seconds.
  2657.                
  2658.              sounder /T5          Produces 1-5 random tones for a total
  2659.                                   length of approximately 2/3 second.
  2660.                                   
  2661.              sounder /T5 /L20     Produces 1-5 random tones for a total
  2662.                                   length of 2 seconds.
  2663.                                   
  2664.              sounder /T5 /L20 +   Produces 5 random tones with a length
  2665.                                   of 0.4 second each.
  2666.                                   
  2667.              sounder /T10 /R3     Produces 3 separate sequences of 1-10
  2668.                                   random tones, each of approximately
  2669.                                   2/3 second length.
  2670.              
  2671.              sounder /T10 /R10 +  Produces 100 random tones lasting a
  2672.                                   total of approximately 6.7 seconds.
  2673.              
  2674.              sounder /E1          Produces increasing pitch sound.      |
  2675.              
  2676.              sounder /E3 /F       Produces up-down wailing sound on a   |
  2677.                                   very fast computer (386 or better).   |
  2678.         
  2679.            SOUNDER returns the following errorlevel codes:
  2680.                
  2681.              0      Musical note sounded
  2682.             1-10    Number of random tones sounded (last cycle only)
  2683.             255     Error in note specification/help screen requested   |
  2684.             
  2685.               
  2686.  
  2687.  
  2688.  
  2689.  
  2690.  
  2691.  
  2692.  
  2693.  
  2694.  
  2695.  
  2696.                                      Page 49
  2697.  
  2698.  
  2699.  
  2700.  
  2701.  
  2702.         
  2703.         SPACE Version 1.11
  2704.         Copyright 1992-1993 by Chuck Steenburgh & Tay-Jee Software
  2705.         
  2706.            SPACE combines the functions of the old utilities FREEDISK
  2707.         and HOWMUCH.  Use SPACE to:
  2708.         
  2709.              - report the amount of free and total space available on
  2710.                a disk
  2711.               
  2712.              - report the total size of a group of files
  2713.              
  2714.              - check to see if there is enough space for a group of
  2715.                files on a particular disk
  2716.         
  2717.         Usage:       SPACE [filespec] [d:] [/sk | /sb] [/c] [/h | /?]
  2718.         
  2719.                   filespec        Specification (including path if de-
  2720.                                   sired) of group of files whose size
  2721.                                   you want to report.
  2722.                   
  2723.                   d:              Target disk drive
  2724.                   
  2725.                   /sk             Report size in kilobytes (screen re-
  2726.                                   ports only)
  2727.                   
  2728.                   /sb             Report size in bytes (screen reports
  2729.                                   only)
  2730.                   
  2731.                   /c              Center screen output lines
  2732.                   
  2733.                   /h or /?        Display help screen
  2734.         
  2735.         Examples:
  2736.         
  2737.              SPACE *.*            Reports the size (in megabytes) of all
  2738.                                   files in the current directory.
  2739.              
  2740.              SPACE C: /sb         Reports the amount of total and avail-
  2741.                                   able disk space (in kilobytes) on
  2742.                                   drive C.
  2743.              
  2744.              SPACE *.exe b: /sb   Reports the size (in bytes) of all .EXE
  2745.                                   files in the current directory; the to-
  2746.                                   tal and available space on drive B; and
  2747.                                   the amount of space on drive B needed
  2748.                                   to hold the specified files.
  2749.         
  2750.  
  2751.                                      Page 50
  2752.  
  2753.  
  2754.  
  2755.  
  2756.  
  2757.            The default is to display all file and space sizes in mega-
  2758.         bytes.
  2759.         
  2760.            SPACE is most useful in automating file copying tasks.  If
  2761.         you are using a RAM disk to copy program files and overlays
  2762.         to for faster execution, use SPACE to make sure there is
  2763.         sufficient room on the disk before copying.  The batch file
  2764.         SAFECOPY.BAT uses the DOS XCOPY command to safely copy files
  2765.         to a new disk, making sure enough room is available.
  2766.            
  2767.            DOS allocates disk space in fixed units known as "clusters"
  2768.         whose size is dependent upon the version of DOS used and the 
  2769.         size and type of the disk.  For example, most floppy disks use 
  2770.         a cluster size of 1,024 bytes (1 kilobyte).  A file that is only
  2771.         100 bytes long will still occupy 1,024 bytes of space (1 full
  2772.         cluster) on a floppy disk.  A file that is 1,025 bytes long will
  2773.         occupy TWO 1,024-byte clusters.  This unused space at the end
  2774.         of a file is known as "slack space."  When both a filespec and
  2775.         a target drive are specified for SPACE, the actual amount of
  2776.         space needed by the specified files on the target drive will
  2777.         be displayed, as well as the percentage of slack space.
  2778.         
  2779.            SPACE returns one of three distinct errorlevel ranges, de-
  2780.         pending on what combination of switches was chosen.  If only
  2781.         a filespec was included on the command line, the errorlevel is
  2782.         set equal to the total size of the specified files, in 10k
  2783.         increments.  If only a target drive was specified, the amount
  2784.         of free space (again in 10k increments) is returned via the
  2785.         errorlevel.  Finally, if both a filespec and a target drive
  2786.         are specified, an errorlevel of 1 indicates that not enough
  2787.         disk space is available, whereas an errorlevel of 0 indicates
  2788.         sufficient space is available.  An errorlevel of 255 indicates
  2789.         that the help screen was displayed or an error condition.  An
  2790.         errorlevel of 254 indicates an overflow (i.e., files total
  2791.         more than 2.53 megabytes or more than 2.53 megabytes are
  2792.         available on the target drive).
  2793.         
  2794.          
  2795.  
  2796.  
  2797.  
  2798.  
  2799.  
  2800.  
  2801.  
  2802.  
  2803.  
  2804.  
  2805.  
  2806.                                      Page 51
  2807.  
  2808.  
  2809.  
  2810.  
  2811.  
  2812.         WAITFOR.EXE
  2813.         Copyright 1991 by Chuck Steenburgh & Tay-Jee Software
  2814.         
  2815.            Did you ever notice that if you want a batch file to wait
  2816.         for you, you have to use PAUSE?  This requires you to press
  2817.         a key.  This may not be convenient at the moment, such as
  2818.         when you're talking on two phones at once and your batch file
  2819.         is patiently waiting for you to tell it to print those files
  2820.         your boss is impatient for.  WAITFOR will simply cause your
  2821.         batch file to suspend operation for a designated number of sec-
  2822.         onds and then resume.
  2823.         
  2824.         Usage:       WAITFOR seconds
  2825.         
  2826.                   seconds         Integer representing the number
  2827.                                   of seconds you would like to
  2828.                                   pause.
  2829.         
  2830.            WAITFOR sets the errorlevel equal to the number of seconds
  2831.         paused.
  2832.                 
  2833.          
  2834.  
  2835.  
  2836.  
  2837.  
  2838.  
  2839.  
  2840.  
  2841.  
  2842.  
  2843.  
  2844.  
  2845.  
  2846.  
  2847.  
  2848.  
  2849.  
  2850.  
  2851.  
  2852.  
  2853.  
  2854.  
  2855.  
  2856.  
  2857.  
  2858.  
  2859.  
  2860.  
  2861.                                      Page 52
  2862.  
  2863.  
  2864.  
  2865.  
  2866.  
  2867.         WHENISIT 2.0                                                    |
  2868.         Copyright 1991-1993 by Chuck Steenburgh & Tay-Jee Software
  2869.         
  2870.            WHENISIT is a highly flexible utility to provide control in
  2871.         DOS batch files based on time and date.  With its many op-
  2872.         tions, WHENISIT will allow your batch files to determine the
  2873.         year, month, date, day of the week, hour, minute, second, or
  2874.         whether it is morning or afternoon and make intelligent de-
  2875.         cisions based on this information.  WHENISIT is also able to
  2876.         perform actions once a day (such as at the first boot-up of the
  2877.         day).
  2878.         
  2879.            For example, you may want certain actions performed at
  2880.         boot time on certain days of the week or month.  Adding
  2881.         WHENISIT to your AUTOEXEC.BAT file can allow you to make
  2882.         these sort of decisions. (Or allow your computer to make them
  2883.         for you automatically.)
  2884.         
  2885.         Usage:
  2886.         
  2887.                      WHENISIT [option] [/Evarname]                      |
  2888.                  or                                                     |
  2889.                      WHENISIT [hh:mm] | [dd/mm/yy]                      |
  2890.                   
  2891.                   where [option] is one of the following:
  2892.                   
  2893.                   /?              Displays help screen
  2894.                      
  2895.                   /a              Returns errorlevel based on am or pm.
  2896.                   
  2897.                   /d              Returns errorlevel equal to date.
  2898.                   
  2899.                   /h              Returns errorlevel equal to the hour
  2900.                                   (24-hour clock).
  2901.                               
  2902.                   /m              Returns errorlevel equal to month.
  2903.                   
  2904.                   /mi             Returns errorlevel equal to minute.
  2905.                   
  2906.                   /s              Returns errorlevel equal to second.
  2907.                   
  2908.                   /w              Returns errorlevel based on the day
  2909.                                   of the week.
  2910.                                   
  2911.                   /y              Returns errorlevel equal to the last
  2912.                                   two digits of the year.
  2913.                   
  2914.                   /Evarname       Set environment variable "varname"    |
  2915.  
  2916.                                      Page 53
  2917.  
  2918.  
  2919.  
  2920.  
  2921.  
  2922.                                   with results of date/time check.      |
  2923.                   
  2924.                   hh:mm           24-hour time.
  2925.                   
  2926.                   mm/dd/yy        Date.
  2927.         
  2928.            Entering the time in the form hh:mm will check to see if     
  2929.         the current time is equal to, before, or after the time entered.
  2930.         If the current time is later than the time entered, an error-   
  2931.         level of 2 is returned.  If the current time is entered, an     
  2932.         errorlevel of 1 is returned.  If the time entered is later than 
  2933.         the current time, an errorlevel of 0 is returned.  Entering the 
  2934.         date in the form mm/dd/yy will check the current date against   
  2935.         the value entered, and return an errorlevel as described above. 
  2936.                                   
  2937.            Entering WHENISIT alone on the command line will generate an
  2938.         errorlevel of 1 if WHENISIT has not been executed yet that day.
  2939.         Otherwise, an errorlevel of 0 will be returned.  Note that if
  2940.         you maintain multiple copies of WHENISIT.EXE on your system,
  2941.         each copy of WHENISIT will keep track of whether or not it has
  2942.         run separately from any other copies.  Be sure you know which
  2943.         copy you are executing!  This is useful to put in AUTOEXEC.BAT
  2944.         to indicate actions you want performed only ONCE each day, no
  2945.         matter how many times you re-boot your computer.  (Once-a-day
  2946.         mode)
  2947.         
  2948.         Examples:
  2949.         
  2950.              WHENISIT /a          Returns errorlevel of 2 if it is pm,
  2951.                                   or 1 if it is am.
  2952.                                   
  2953.              WHENISIT /y          If your clock is set to the year
  2954.                                   1991, returns an errorlevel of 91.
  2955.                                   
  2956.              WHENISIT /w          If your clock indicates that it is
  2957.                                   Tuesday, returns an errorlevel of 3.
  2958.              
  2959.              WHENISIT 12/25/91    If current date is AFTER 12/25/91,   
  2960.                                   returns errorlevel of 2.  If current 
  2961.                                   date is 12/25/91, returns errorlevel 
  2962.                                   of 1.  If current date is earlier    
  2963.                                   than 12/25/91, errorlevel of 0 is    
  2964.                                   returned.                            
  2965.              
  2966.              WHENISIT             Returns errorlevel of 0 if WHENISIT
  2967.                                   has already executed, 1 if not.
  2968.              
  2969.              WHENISIT /w /ETODAY  Sets the variable TODAY equal to the  |
  2970.  
  2971.                                      Page 54
  2972.  
  2973.  
  2974.  
  2975.  
  2976.  
  2977.                                   day of the week, and returns an appro-|
  2978.                                   priate errorlevel value.              |
  2979.                                   
  2980.         Errorlevel Chart:
  2981.         
  2982.              Errorlevel  Switch:  /a            /m            /w        |
  2983.              ----------         --------------------------------------
  2984.                  1                AM        January         Sunday
  2985.                  2                PM        February        Monday
  2986.                  3                na        March           Tuesday
  2987.                  4                na        April           Wednesday
  2988.                  5                na        May             Thursday
  2989.                  6                na        June            Friday
  2990.                  7                na        July            Saturday
  2991.                  8                na        August             na
  2992.                  9                na        September          na
  2993.                 10                na        October            na
  2994.                 11                na        November           na
  2995.                 12                na        December           na
  2996.                 
  2997.            The errorlevels returned through the use of other switches
  2998.         should be self-explanatory.
  2999.         
  3000.            The following errorlevel values indicate a syntax error:     |
  3001.            
  3002.            Errorlevel          Error                                    |
  3003.            ==========          =====                                    |
  3004.            
  3005.               250              Invalid day (within entered date)        |
  3006.               251              Invalid month (within entered date)      |
  3007.               252              Invalid year (within entered date)       |
  3008.               253              Invalid minute (within entered time)     |
  3009.               254              Invalid hour (within entered time)       |
  3010.               255              Too many arguments on command line       |
  3011.         
  3012.          
  3013.  
  3014.  
  3015.  
  3016.  
  3017.  
  3018.  
  3019.  
  3020.  
  3021.  
  3022.  
  3023.  
  3024.  
  3025.  
  3026.                                      Page 55
  3027.  
  3028.  
  3029.  
  3030.  
  3031.  
  3032.         WRITE.EXE 2.5
  3033.         Copyright 1991-1993 Chuck Steenburgh & Tay-Jee Software
  3034.         
  3035.         
  3036.            We know that ECHO has its limits, don't we?  WRITE will let
  3037.         you have full control over the positioning and color of your
  3038.         text messages in batch files.  Version 2.0 adds the capability
  3039.         to have write display text files, similar to DOS's TYPE|MORE
  3040.         combination, but in FULL color that you specify.
  3041.         
  3042.         Syntax:       
  3043.         
  3044.              WRITE "Text"|@file [ccc] [/C] [/Rn] [/Ln] [/S] [/X|/N] [/H]|
  3045.         
  3046.                   "Text"          This is the text to be displayed,
  3047.                                   which must be enclosed in quotes if
  3048.                                   it consists of more than one word.
  3049.                                   
  3050.                   @file           Name of file containing ASCII text to
  3051.                                   be displayed.  Can be specified in
  3052.                                   lieu of "Text."
  3053.                                                                    
  3054.                   ccc             This is the color in which to print
  3055.                                   the text.  See Appendix 3.
  3056.                                   
  3057.                   /C              Centers text on line.
  3058.         
  3059.                   /Rn             n is the row (0-24, top to bottom) on
  3060.                                   which the text will appear.  The de-
  3061.                                   fault is to use the current cursor
  3062.                                   position.
  3063.                                                                      
  3064.                   /Ln             n is the column (0-79, left to right)
  3065.                                   where the text will begin printing.
  3066.                                   The default is to use the current cur-
  3067.                                   sor position.
  3068.         
  3069.                   /S              Include this switch to utilize slow
  3070.                                   (BIOS) screen writes.  This will
  3071.                                   suppress "snow" on some CGA displays.
  3072.                   
  3073.                   /X | /N         Places screen in eXtended (43/50 line)|
  3074.                                   mode or Normal (25 line) mode on EGA  |
  3075.                                   or VGA systems.                       |
  3076.                                   
  3077.                   /H              Displays brief help screen.
  3078.         
  3079.         Examples:
  3080.  
  3081.                                      Page 56
  3082.  
  3083.  
  3084.  
  3085.  
  3086.  
  3087.         
  3088.              WRITE "This is my message"
  3089.              
  3090.              Displays "This is my message" on the current line in gray
  3091.         on black background (same as ECHO This is my message, only
  3092.         MUCH faster).
  3093.         
  3094.              WRITE "This is my message." 79
  3095.              
  3096.              Displays "This is my message." on the current line in
  3097.         bright white on red background.
  3098.         
  3099.              WRITE "Hello, Chuck." /r10 /l25
  3100.              
  3101.              Displays "Hello, Chuck." on row 10, column 25, in gray on
  3102.         black background.
  3103.         
  3104.              WRITE "Goodbye, Chuck." /r5 /c /s 207
  3105.              
  3106.              Displays "Goodbye, Chuck." centered on row 5 in flashing
  3107.         bright white on red background.  Suppresses snow on old CGA sys-
  3108.         tems.
  3109.         
  3110.              WRITE @write.doc 15
  3111.              
  3112.              Displays this documentation file on the screen in bright
  3113.         white on black background. 
  3114.         
  3115.            If a text file is to be displayed, the /L, /R, and /C switch-|
  3116.         es are ignored.  The screen will be cleared, and text will be   |
  3117.         displayed a screen at a time.  Users will be prompted with the  |
  3118.         familiar "Press any key to continue..." message to continue on  |
  3119.         to the next screen.                                             |
  3120.         
  3121.            WRITE returns errorlevels as follows:
  3122.         
  3123.              0   Normal termination                                     
  3124.              1   Text file displayed
  3125.              2   Help screen displayed
  3126.         
  3127.            Note to users of WRITE 1.1 or 1.0:
  3128.            
  3129.            Commands written for earlier versions of WRITE are not com-
  3130.         patible with WRITE 2.x.  Sorry, but the new features included
  3131.         with WRITE 2.0 demanded a different system of passing parameters
  3132.         to the program.  The current switches are similar to those used
  3133.         with the remainder of STEENBURGH'S STUFF utilities.  The original
  3134.         two releases of WRITE were little more than executable versions 
  3135.  
  3136.                                      Page 57
  3137.  
  3138.  
  3139.  
  3140.  
  3141.  
  3142.         of some "C" functions I had written for use in other programs, 
  3143.         while version 2.0 is a completely new, much more flexible and 
  3144.         capable utility.
  3145.         
  3146.          
  3147.  
  3148.  
  3149.  
  3150.  
  3151.  
  3152.  
  3153.  
  3154.  
  3155.  
  3156.  
  3157.  
  3158.  
  3159.  
  3160.  
  3161.  
  3162.  
  3163.  
  3164.  
  3165.  
  3166.  
  3167.  
  3168.  
  3169.  
  3170.  
  3171.  
  3172.  
  3173.  
  3174.  
  3175.  
  3176.  
  3177.  
  3178.  
  3179.  
  3180.  
  3181.  
  3182.  
  3183.  
  3184.  
  3185.  
  3186.  
  3187.  
  3188.  
  3189.  
  3190.  
  3191.                                      Page 58
  3192.  
  3193.  
  3194.  
  3195.  
  3196.  
  3197.         XD Version 2.2                                                  |
  3198.         Copyright 1991-1993 Chuck Steenburgh & Tay-Jee Software
  3199.         
  3200.            XD is included as a directory creation/changing utility.     
  3201.         There are better ones available, I suggest you get one if       
  3202.         you can.  XD does offer advantages over the cd and md commands  
  3203.         found in DOS.
  3204.         
  3205.         Usage:       XD [drive:][\directory]...
  3206.         
  3207.                   drive:          Drive letter (with colon) that you
  3208.                                   want to switch to.
  3209.         
  3210.                  \directory       Directory (with slash) that you want
  3211.                                   to change to.  If it does not exist,
  3212.                                   XD will create it and then move you
  3213.                                   there.
  3214.         
  3215.         Examples:
  3216.         
  3217.              XD D:\DOS            Changes to drive D: (if necessary)
  3218.                                   then changes to the \DOS directory,
  3219.                                   creating it if necessary.
  3220.                                   
  3221.              XD QPRO\DATA         Changes to subdirectory QPRO, then
  3222.                                   to subdirectory DATA, creating it
  3223.                                   if necessary.
  3224.                                   
  3225.            If you are using XD to create a new directory, you may only
  3226.         create one new level.  For example, if you issue the command
  3227.         "XD C:\DOS\UTILITY" and that directory does not exist, XD will
  3228.         create IF C:\DOS already exists.
  3229.         
  3230.            XD sets the errorlevel to 1 if the above condition is en-
  3231.         countered and it is unable to create a new directory.  XD also
  3232.         will set the errorlevel to 2 if the specified drive does not
  3233.         exist.  Either error condition also results in the sounding of
  3234.         a tone.
  3235.         
  3236.            Entering XD without any parameters will cause a dialog box
  3237.         to appear on screen.  Enter the desired drive and/or directory
  3238.         in the dialog box and press <Enter>.
  3239.         
  3240.            If a trailing backslash is included in the path name, it     |
  3241.         will be removed befroe further processing.                      |
  3242.  
  3243.  
  3244.  
  3245.  
  3246.                                      Page 59